面试题12:二进制中1的个数
题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2。
解答:代码如下:
int NumberOf1(int n)
{
int count = 0;
while(n != 0)
{
n &= (n - 1);
count++;
}
return count;
}
面试题12:二进制中1的个数
题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2。
解答:代码如下:
int NumberOf1(int n)
{
int count = 0;
while(n != 0)
{
n &= (n - 1);
count++;
}
return count;
}