写一个函数返回参数二进制中 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;
}
本文介绍了一个递归函数,用于计算整数转换为二进制后的1的个数。通过判断数字的最后一位是否为1,并递归除以2直到所有位被检查,实现了高效计算。
454

被折叠的 条评论
为什么被折叠?



