class Solution {
public:
int NumberOf1(int n) {
int res = 0;
for (int i=0; i<32; i++){
if ((n & (1<<i)) != 0) res++;
}
return res;
}
};
n:二进制32位,
1<<i:32位,i位=1,其他位为0
位与操作:
- 如果n的i位=1:n&(1<<i) == (1<<i) != 0
- 如果如果n的i位=0:n&(1<<i) == 0



京公网安备 11010502036488号