题解 | 求int型正整数在内存中存储时1的个数
求int型正整数在内存中存储时1的个数
https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
#include <stdio.h>
int main() {
long int a,b;
int num = 0;
while (scanf("%ld\n", &a) != EOF) {
while(a != 0)
{
b = 1;
for(int i = 0;i < 31;i++)
{
if(a >= b && a < (b * 2))
{
a -= b;
num += 1;
}
b *= 2;
}
}
printf("%d\n", num);
}
return 0;
}
