您的位置:首页 > 编程语言 > C语言/C++

将函数返回参数转化为二进制并统计1的个数

2015-09-23 22:25 447 查看
C语言代码如下:
# include <stdio.h>

int main()
{
int a=5, c;
c = count_one_bits(a);     /*函数调用,返回count的值*/

printf("该十进制数转化为二进制数后1的个数为:%d\n", c);

return 0;
}
/*统计二进制数中1的个数*/
int count_one_bits(int x)
{
int i=0, arry[5]={0};
int n, count=0;
n = x;
while(n>0)              /*此循环用来将二进制数存入数组*/
{
arry[i] = n % 2;
i++;
n = n / 2;
}
printf("该十进制转换为二进制为:");
for( i=4; i>=0; i--)    /*顺序输出二进制数并用count计算1的个数*/
{
printf("%d", arry[i]);
if(arry[i]==1)
{
count++;
}

}
return count;
}

干货小知识:标准C指定了char至少必须达到8位、short至少为16位、long至少32位、long long至少64位,int是16位还是32位以及前几个的具体精度与机器位数和实现有关。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息