写一个函数,返回参数二进制中 1 的个数
程序代码如下:
#include <stdio.h>
#include <stdlib.h>
int count_one_bits(unsigned int num)
{
int count = 0;
while (num)
{
num = num & (num - 1);
count++;
}
return count;
}
int main()
{
int n = 0;
printf("请输入数字:\n");
scanf("%d", &n);
int ret = count_one_bits(n);
printf("ret = %d\n", ret);
system("pause");
return 0;
}
程序运行结果如下: