1、题目描述
2、分析
判断一个32位无符号数字中1的个数,应该算比较简单,只要用输入的数字不停地与1相与,结果为1则次数加一,然后将输入数字右移一位,循环32次就好。
3、代码
class Solution {
public:
int hammingWeight(uint32_t n) {
int res=0;
for(int i=0;i<32;++i){
res+=(n&1);
n=n>>1;
}
return res;
}
};
4、相关知识点
位操作的相关知识。