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

来源:互联网 发布:淘宝规则适用者 编辑:程序博客网 时间:2024/06/02 05:45

写一个函数返回参数二进制中 1 的个数
比如: 15 0000 1111 4 个 1

#include<stdio.h>int fun(int a){    int count = 0;    while (a)    {        count++;        a = a & (a - 1);        //a & (a - 1)的结果会使a对应的二进制数中的1少一个,把结果赋给a直到a为0        //这样一来  a = a & (a - 1); 这句代码进行的次数就是a对应二进制数中1的个数        //用count 记下次数    }    return count;}int main(){    int num = 15; //num也可由 scanf 输入    printf("num对应的二进制数中有 %d 个 1 \n", fun(num));    system("pause");//vs中想要看到打印需要写这一行    return 0; }
原创粉丝点击