写一个函数返回参数二进制中 1 的个数
程序员文章站
2022-07-15 09:57:54
...
比如: 15 0000 1111 4 个 1
程序原型:
int count_one_bits(unsigned int value)
{
// 返回 1的位数
}
第一种方法
int count_one_bits(unsigned int value)
{
int count = 0;
while(value)
{
if(value%2 == 1)
{
count ++;
}
value = value/2;
}
return count;
}
第二种方法
int count_one_bits(unsigned int num)
{
int count = 0;
while(num)
{
count++;
num = num&(num-1);
}
return count;
}
第三种方法
int count_one_bits(unsigned int value)
{
int count = 0;
int i = 32;
while(i)
{
if(value&1 == 1)
{
count ++;
}
value = value>>1;
i--;
}
return count;
}
主函数
int main()
{
unsigned int num = 0;
int ret = 0;
printf("请输入一个整数:");
scanf("%d",&num);
ret = count_one_bits(num);
printf("整数变为二进制时其中1的个数:%d\n",ret);
return 0;
}
上一篇: 小朋友学C语言(6):加法
下一篇: 写一个函数返回参数二进制中 1 的个数
推荐阅读
-
JavaScript - 写一个纯函数 - 返回字符串中的 最大值 和 最小值
-
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
-
剑指offer:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
-
[算法]输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
-
剑指offer:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
-
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
-
【输入一个整数,输出该数二进制表示中1的个数,其中负数用补码表示---------【剑指offer】】
-
第十二题:输入一个整数,输出该数二进制表示中1的个数,其中负数用补码表示。
-
输入一个整数,输出该数二进制表示中1的个数(其中负数用补码表示)-- 剑指offer
-
Java 实现输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示