输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
利用<<左移操作作为标志位,经典位运算题目
class Solution {
public:
int NumberOf1(int n) {
int i,k,res=0;
for(i=0;i<sizeof(int)*8;i++){
k=1<<i;
if(n&k) res++;
}
return res;
}
};