题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
提示:整数是32位的
class Solution {
public:
int NumberOf1(int n) {
int num;
int count=0;
if(n>=0)
{
num=n;
}
else
{
num=pow(2,31)+n;
count=1;
}
while(num>0)
{
int res=num%2;
if(res) count++;
num/=2;
}
return count;
}
};