概述
#include <stdio.h>
/*
** 这个函数返回参数值中值为 1 的位的个数。
*/
int count_one_bits0(unsigned value)
{
int ones;
for (ones = 0; value != 0; value = value >> 1)
{
if (value % 2 != 0)
ones = ones + 1;
}
return ones;
}
int count_one_bits1(unsigned value)
{
int ones;
for (ones = 0; value != 0; value >>= 1)
{
if (value & 1)
ones += 1;
}
return ones;
}
int main(int argc, char *argv[])
{
int temp = 32;
int temp2 = -32;
printf("%d %drn", count_one_bits0(3), count_one_bits0(4));
printf("%d %drn", count_one_bits0(15), count_one_bits0(16));
printf("%d %drn", count_one_bits1(3), count_one_bits1(4));
printf("%d %drn", count_one_bits1(15), count_one_bits1(16));
}
/**
* 编译:gcc -o test test.c
* 运行:./test
* 结果
* 2 1
* 4 1
* 2 1
* 4 1
*/
最后
以上就是精明战斗机为你收集整理的C语言-测试一个整数中有多少个1的全部内容,希望文章能够帮你解决C语言-测试一个整数中有多少个1所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复