1.简单做法,逐位去判断是否为1。先判断最低位,然后将二进制串右移一位,则它的高一位变成了最低位,也就是一直判断最低位即可,直到该数为0返回结果。
class Solution {
public:
int hammingWeight(uint32_t n) {
int cnt=0;
while(n!=0)
{
if(n&1) ++cnt;
n>>=1;
}
return cnt;
}
};