最基本的方法:
#include<stdio.h> int main() {
#include<stdio.h> int main() { unsigned int num = -1; int count = 0; while(num) { if(num%2 == 1) count++; num=num/2; } printf("count = %d\n",count); return 0; }
可用的方法:最优的方法:int num = -1; int count = 0; int i =0; for(i=0;i<32;i++) { if(num&1==1) count++; num = num>>1; } printf("count = %d\n",count); return 0; }
#include<stdio.h> int main() { int num = -1; int count = 0; while(num) { count++; num = num & (num-1); } printf("count = %d\n",count); return 0; }