public int hammingWeight(int n) {
int cnt = 0;
// 方法1: 从低到高依次判断n的二进制的每一位是否为1
while (n != 0)
{
cnt += (n & 1);
n >>= 1;
}
// 方法2: 从低到高依次将n的二进制的每一位上从1变成0
while (n != 0)
{
n &= n-1;
cnt++;
}
return cnt;
}
09-03
1068
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)