C语言计算整数二进制中1的个数
在C语言中,可以使用以下代码来计算一个整数的二进制表示中有多少个1:
#include <stdio.h>
int countOnes(int num) {
int count = 0;
while (num != 0) {
if (num & 1) {
count++;
}
num = num >> 1;
}
return count;
}
int main() {
int num;
printf('请输入一个整数:');
scanf('%d', &num);
int onesCount = countOnes(num);
printf('%d的二进制表示中有%d个1。\n', num, onesCount);
return 0;
}
在上述代码中,countOnes() 函数用于计算一个整数的二进制表示中有多少个1。它使用一个循环迭代,每次判断输入的数的最低位是否为1。如果是,则计数器加1。然后,将输入的数右移一位,继续进行判断,直到输入的数变为0为止。
在 main() 函数中,我们首先读取一个整数。然后调用 countOnes() 函数计算该数的二进制表示中有多少个1,并输出结果。
请注意,此代码版本仅为示例,可能存在一些限制和局限性。在实际中,您可能需要对输入进行错误处理,以及处理负数的情况等等。
原文地址: https://www.cveoy.top/t/topic/b9bS 著作权归作者所有。请勿转载和采集!