📅  最后修改于: 2023-12-03 15:14:26.125000             🧑  作者: Mango
在计算机科学中,二进制是一种基数为2的数字系统,由数字0和1组成。在C语言中,我们可以使用二进制表示形式来计数数字中零和一的个数。
以下是一个简单的C程序,用于计算数字的二进制表示形式中0和1的数量。
#include <stdio.h>
int main() {
int number, n;
int ones = 0, zeros = 0;
printf("Enter a number: ");
scanf("%d", &number);
n = number;
while(n > 0) {
if(n % 2 == 0) {
zeros++;
}
else {
ones++;
}
n /= 2;
}
printf("The binary representation of %d has %d zeros and %d ones.", number, zeros, ones);
return 0;
}
number
, n
, ones
, 和 zeros
。scanf
函数来读取用户输入的数字并将其存储在 number
变量中。number
的值复制到 n
中,以便我们可以在循环中操作它,而不会改变原始输入值。n
。在每次迭代中,我们使用模运算来确定 n
的当前二进制表示形式中是否有一个零或一个一。如果 n
在进行除以2的操作后余数为0,则我们将 zeros
变量增加1,否则我们将 ones
变量增加1。number
的二进制表示形式中零和一的总量。下面是一个示例输出,当用户输入数字20时:
Enter a number: 20
The binary representation of 20 has 2 zeros and 2 ones.
使用C语言,我们可以轻松地计算数字的二进制形式中零和一的数量。这可以用于处理二进制数据时的各种应用。