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

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

2018-03-26 14:15 411 查看
 一个函数返回参数二进制中1的个数
第一种境界int count_one_bits(unsigned int value)
{
int count = 0;
while (value)
{
if (value % 2 == 1)
count++;
value = value / 2;
}
return count;
}

#include<stdio.h>
int main()
{
int ret = 0;
unsigned int num = 0;
printf("请输入一个数:");
scanf_s("%d",&num);
ret = count_one_bits(num);
printf("二进制中1的个数:%d\n",ret);
system("pause");
}第二种境界int count_one_bits(int value)
{
int count = 0;
int i = 32;
while (i)
{
if (value & 1 == 1)
count++;
}
value = value >> 1;
i--;
return count;
}

#include<stdio.h>
int main()
{
int ret = 0;
int num = 0;
printf("请输入一个数:");
scanf_s("%d", &num);
ret = count_one_bits(num);
printf("二进制中1的个数:%d\n", ret);
system("pause");
}第三种境界#include<stdio.h>

int count_one_bits(int value)
{
int count = 0;
while (value)
{
count++;
value = value&(value - 1);
}
return count;
}

int main()
{
int ret = 0;
int num = 0;
printf("请输入一个数:");
scanf_s("%d", &num);
ret = count_one_bits(num);
printf("二进制中1的个数:%d\n", ret);
system("pause");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言
相关文章推荐