二进制中1的个数 思路代码 思路 lowbit(x)是x的二进制表达式中最低位的1所对应的值,比如10为1010则返回的是2即10,那么我每一次把lowbit减掉就行,看能减几次就有几个1 代码 class Solution { public: int hammingWeight(uint32_t n) { int sum=0; while(n) { n-=lowbit(n); sum++; } return sum; } int lowbit(uint32_t x) { return x&-x; } };