题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
位运算
class Solution {
public:
int NumberOf1(int n)
{
int counter = 0;
unsigned int flag = 1;
while(flag)
{
if(n & flag)
{
counter++;
}
flag = flag << 1;
}
return counter;
}
};
C/C++位运算技巧https://blog.csdn.net/zouliping123/article/details/8995373
来谈谈C++ 位运算 & | << >> ^ ~ %:https://www.linuxidc.com/Linux/2014-03/98362.htm