. 输入一个整数,求该整数的二进制中有几个1 ,c语言
时间: 2024-10-14 07:11:00 浏览: 30
Programming-Using-OpenGL-in-VCPP,如何用c语言求一个整数源码,c语言程序
在 C 语言中,可以使用位运算来计算一个整数的二进制表示中1 的个数。这个过程通常被称为计算数字的“人口”或者“汉明重量”。以下是一个简单的函数示例:
```c
#include <stdio.h>
int countBits(int n) {
int count = 0;
while (n != 0) {
if (n & 1) { // 如果最右边的二进制位是1
count++; // 累加计数
}
n >>= 1; // 右移一位,去掉最低位
}
return count;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
int ones = countBits(num);
printf("给定整数 %d 的二进制中1 的个数是:%d\n", num, ones);
return 0;
}
```
在这个程序中,`countBits` 函数通过不断右移并检查最低位是否为1 来统计 `n` 中1 的个数。当`n`变为0 时,循环结束。
阅读全文