C语言二进制中1的个数(代码实例)
程序员文章站
2022-06-24 20:04:34
二进制中1的个数
//第一种:短除法
int count_one(unsigned num)
{
int count = 0;
while (num != 0)
{
if...
二进制中1的个数
//第一种:短除法 int count_one(unsigned num) { int count = 0; while (num != 0) { if (num % 2 == 1) { count++; } num /= 2; } return count; } ? //第二种:移位按位与1法 int count_one(int num) { int count = 0; int i = 0; for (i = 0; i < 32; i++) { count += (num >> i) & 1; } return count; } ? //第三种:num与num-1进行按位与 int count_one(int num) { int count = 0; while (num != 0) { num = num & (num - 1); count++; } return count; } ? int main() { int num = 0; int count = 0; printf("请输入一个数字>:"); scanf("%d", &num); count = count_one(num); printf("1的个数为:%d\n", count); return 0; }
推荐阅读
-
pow函数(数学次方)在c语言的用法,两种编写方法实例( 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值)
-
剑指offer11:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(进制转换,补码反码)
-
C#删除Excel中的图片实例代码
-
用C语言写一个函数返回参数二进制中1的个数
-
用c语言实现,两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
-
c语言:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?打印出来?
-
C语言:有一个分数序列,2/1+3/2+5/3+8/5+13/8+…求出这个数列前 20 项的和
-
[c语言]求两个数中不同的位的个数
-
再编写代码中报错:CS8107 C# 7.0 中不支持功能“xxxxxx”。请使用 7.1 或更高的语言版本。
-
php实现统计二进制中1的个数算法示例