题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
补充
补码
原码、反码、补码知识详细讲解(此作者是我找到的讲的最细最明白的一个)
解题思路
行吧。。。我不太会按位操作。。。看答案吧。。。
牛客官方题解
实现
class Solution {
public:
int NumberOf1(int n) {
int count = 0;
while(n!= 0){
count++;
n = n & (n - 1);
}
return count;
}
};
运行结果
运行时间:4ms
占用内存:484k