题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
http://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
模拟计算某个数的二进制,除k取余,如果等于1则统计加1
#include <stdio.h>
int fun(int n)
{
int count = 0;
while(n)
{
if(n % 2 == 1)
count++;
n = n>>1;
}
return count;
}
int main()
{
int n;
while(scanf("%d",&n) != EOF)
{
printf("%d\n",fun(n));
}
return 0;
}