求一个整数在内存中的二进制位中1的个数 1.设一个变量a,a%2;a/2……按照这思路之后就能求出1的位数了(缺陷:对于负数行不通) 2.int a=0; scanf("%d",&a); int count=0; for(int i=0;i<32;i++) { if((a>>i)&1==1) count++; } (缺陷:循环次数过多,时间复杂度大) 3.