Write a function that takes an unsigned integer and returns the number of ’1' bits
it has (also known as the Hamming weight).
For example, the 32-bit integer ’11' has binary representation
00000000000000000000000000001011, so the function should return 3.
一个数减1,它里面的是1的bit就会减少1个。
public int hammingWeight(int n) {
int result=0;
while(n!=0){
result++;
n&=(n-1);
}
return result;
}

本文介绍了一个简单而高效的方法来计算一个整数中1的位数,即汉明重量。通过一个实用的Java函数实现,该函数采用位操作技巧逐个消除最低位的1,直到整数变为0,从而计算出1的总数量。
5156

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



