题解 | 求int型正整数在内存中存储时1的个数
#include <stdio.h> int main() { int a, num = 0; //右移 除以2 看余数是否为零 scanf("%d", &a); for (int i = 0; i < 32; i++) { if (a % 2 == 1) num++; a = a >> 1; } printf("%d", num); //while (scanf("%d %d", &a, &b) != EOF) { // 注意 while 处理多个 case // 64 位输出请用 printf("%lld") to // printf("%d\n", a + b); //} return 0; }