输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。,第1张

概述这道题的思路主要是打破自己的惯有的思维,其实我们可以看出10进制的数,我们完全可以当做二进制来使用。 然后在转换成为二进制的时候,我们可以看到他是用了一个左移的 *** 作, 这个 *** 作比我们传统的利用对二连除的方法要好的。然后我们用c++的方法进行求解得到的答案就是 class Solution { public: int NumberOf1(int n) { int mark=0; int index

这道题的思路主要是打破自己的惯有的思维,其实我们可以看出10进制的数,我们完全可以当做二进制来使用。

然后在转换成为二进制的时候,我们可以看到他是用了一个左移的 *** 作,

这个 *** 作比我们传统的利用对二连除的方法要好的。然后我们用c++的方法进行求解得到的答案就是

class Solution {
public:
int NumberOf1(int n) {
int mark=0;
int index = 1;
while(index!=0){
if((n&index)!=0)
mark++;
index=index<<1;
}
return mark;
}
};

通过java写出的代码为

思路为:先将数字转换为一个string类型的字符串,然后再将这个字符串转换为数组。然后

对这个数字转换成的数组进行遍历。看里面有的1的个数,就可以了。

public class Solution {
public int NumberOf1(int n) {
int number =0;
String string=Integer.toBinaryString(n);
char[]chars=string.tochararray();
for(char ch:chars){
if(ch==‘1‘)
number++;
}
return number;
}
}

c++和java其实代码写的在这道题中是都是适用的。两者的风格是非常的类似的

总结

以上是内存溢出为你收集整理的输入一个整数,输出该数二进制表示中1的个数。其中负数补码表示。全部内容,希望文章能够帮你解决输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1211911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存