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的个数相关。
class Solution {
public:
int hammingWeight(uint32_t n) {
int c=0;
while(n>0)//循环次数和1的个数相关
{
n=n&(n-1);
c++;
}
return c;
}
};