题目介绍
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
题目分析
这是一个简单的计算二进制中数字为1的个数,可以通过1和该二进制数的每一位进行与操作&来判断,C++中对与操作,有专用函数。详细思路请见源代码!
源代码
class Solution {
public:
int NumberOf1(int n)
{
if(n==0)
return 0;
int count = 0;
int index=1;
while(index!=0)
{
if((n&index)!=0)
count++;
index=index<<1;
}
return count;
}
};