#include "stdio.h"int count_one_bits(unsigned int value){ int count=0; while(value) { if(value%2==1) { count++; } value=value/2; } return count;}int main(){unsigned int num=0;int ret=0;scanf("%d",&num);ret=count_one_bits(num);printf("count=%d\n",ret);return 0;}
优化:
#include "stdio.h"int main(){ int num=15; int count=0; while(num) { if(num%2==1) { count++; } num=num/2; } printf("%d\n",count); system("pause");}
输入15,得出结果count=4