美文网首页
练习11--二进制中1的个数

练习11--二进制中1的个数

作者: 莫小西0213 | 来源:发表于2017-10-23 14:21 被阅读0次

题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
思路:1、java中有个方法可将任意整数转换成二进制表示;
2、使用按位与,将n与n-1相与,n中有多少个1就能进行与多少次。
代码:

public int NumberOf1(int n) {
int count=Integer.toBinaryString(n).replace("0","").length();
return count;
}

public int NumberOf2(int n) {
int count=0;
while(n!=0) {
n=n&(n-1);
count++;
}
return count;
}

相关文章

网友评论

      本文标题:练习11--二进制中1的个数

      本文链接:https://www.haomeiwen.com/subject/bpcauxtx.html