您的位置:首页 > 其它

二进制中1的个数

2016-02-08 12:38 239 查看

题目描述

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
一个二进制数,减去1,最右边的1变成0,1后边的0全变成1。比如二进制1100,进去1变成1011。如果再和
原来的数进行与运算,则变成1000,即将末位的1变成0。如此循环知道数值变成0,即可知道二进制数当中包
含多少位1.
public class Solution {
public int NumberOf1(int n) {
int count=0;
while(n!=0){
n=n&(n-1);
count++;
}
return count;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: