您的位置:首页 > 其它

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

2017-09-09 20:42 483 查看
计算机组成原理中的与或非,算术移位,逻辑移位很重要啊

看不懂了,把数字化成二进制模拟一下。

n & (~n + 1) 表示的是 n 的二进制最右边 1及其以后的值


public int NumberOf1(int n) {
int count = 0;
while(n != 0){
int a =  n & (~n + 1);
n = n - a;
count++;
}
return count;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  二进制
相关文章推荐