题解 | #求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); }