题解 | #求int型正整数在内存中存储时1的个数#
https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
#include <stdio.h>
int main(void)
{
int num = 0;
unsigned char cnt = 0;
scanf("%d", &num);
while(num) {
//从低到高,逐位比较
if(num & 0x01) {
cnt++;
}
num = num >> 1;
}
printf("%d", cnt);
}