题解 | #求int型正整数在内存中存储时1的个数#
求int型正整数在内存中存储时1的个数
https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9
#include <stdio.h> int main() { unsigned int num=0; scanf("%d",&num); { int times=0; //考虑用位运算,这样就不需要求幂的函数了 for(int i=1;i<32&&num>0;i++) { if(((num>>1)<<1)!=num) times++; num=num>>1; } printf("%d",times); } return 0; }