写一个函数返回参数二进制中 1 的个数。

#include<stdio.h>  

int  count_one_bits(unsigned int value)  

{  

    int a=value;              //把函数中value的值给a  

    int i=0;                 //记录1的值 

  

    while(a)               

    {  

        if(a%2 ==1)  

        {  

            i++;             

        }  

        a=a/2;  

    }                          //while循环是将十进制转换成二进制的算法

  

    return i;  

}  

  

int main()  

{  

    printf("the number of 1 is %d:\n",count_one_bits(14));  //14指value的值,可以随意变换。

    return 0;  

}