二进制中1的个数 输入一个32位整数,输出该数二进制表示中1的个数。 class Solution { public: int NumberOf1(int n) { int res=0; unsigned int m=n; //在此要注意当n负数时,右移会自动补1而不是0,因此把int改成unsigned int即可 while(m) { if(m&1) res++; m>>=1; } return res; } };