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的位数
public int HammingWeight(uint n) {
int sum = 0;
while (n > 0)
{
if ((n&1) == 1)
{
sum++;
}
n >>= 1;
}
return sum;
}