写一个函数返回参数二进制中 1 的个数
比如: 15 0000 1111 4 个 1
程序原型:
int count_one_bits(unsigned int value)
{
// 返回 1的位数
}
下面程序在vs环境下运行:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int count_one_bits(int value)
{
if (value /2 != 0 ||value %2 !=0)
{
if (value % 2 == 1)
{
return 1 + count_one_bits(value / 2);
}
else
{
return count_one_bits(value / 2);
}
}
else
{
return 0;
}
}
int main()
{
int k = 0;
int i;
scanf("%d", &i);
k = count_one_bits(i);
printf("%d\n", k);
system("pause");
return 0;
}