您的位置:首页 > 其它

一个正整数int有多少bit位为一

2015-01-02 08:03 218 查看
https://leetcode.com/problems/number-of-1-bits/

题目

给一个正整数int,输出bit位为一的个数。

解法1

public static int bitCount(int x) {
int count  = 0;
while(x > 0) {
count += (x % 2);
x = x / 2;
}
return count;
}
如果是9 计算4次
解法2

public static int bitCount(int x) {
int count  = 0;
while(x > 0) {
// 可以去掉最右那个为1的bit位
x = x & (x-1);
count++;
}
return count;
}
如果是9计算2次
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: