问题:
计算在一个 32 位的整数的二进制表式中有多少个 1。
样例:
给定 32 (100000),返回 1。
给定 5 (101),返回 2。
给定 1023 (111111111),返回 9。
分析:
代码:
class Solution {
public:
int countOnes(int num) {
int count = 0;
if (num < 0) {
count++;
num = num ^ 0x80000000;
}
while (num > 0) {
if (num & 1) {
count++;
}
num = num >> 1;
}
return count;
}
};
3661




被折叠的 条评论
为什么被折叠?



