为了更好地理解,我们始终建议您学习下面列出的C语言编程基础主题
在这个 C 语言程序中,我们需要将十进制数转换为二进制,并且还需要计算“1”的数量。使用 C 语言程序将十进制数转换为二进制数非常简单。二进制数是只包含零和一的数。我们必须将这些零和一转换为十进制系统表示的数字。在个人电脑出现后,二进制数系统变得非常重要,因为个人电脑只能读取称为机器语言的二进制数。二进制数用下标2表示,十进制数用下标10表示。
首先,我们必须声明一些变量“num, dnum, rem, basebin, count”,数据类型为long。我们使用变量“num”来存储十进制数,使用变量“count”来计算二进制数中“1”的数量。从用户获取十进制数后,开始一个 while 循环,直到该数为零。使用模运算符获取余数。如果余数是一,则将变量“count”增加1。然后应用公式。
bin = bin + rem * base
num = num / 2
base = base * 10
之后,我们将使用printf方法显示输入数字为“dnum”,其等效二进制数为“bin”。我们还将显示二进制数中“1”的数量为count。
步骤 1: 包含头文件以在 C 语言程序中使用内置函数。
步骤 2: 声明变量“num、dnum、rem、base、bin、count”为Long数据类型。
步骤 3: 从用户读取十进制整数,并将其保存到“num”中。
步骤 4: 将数字“num”复制到“dnum”中。
步骤 5: 使用条件为“num>0”的“while loop”执行步骤 6。
步骤 6: 计算“rem = num % 2”。然后检查“rem == 1”,如果为真,则将 Count 增加 1。这是为了获取二进制数中“1”的数量。
步骤 7: 计算“bin = bin + rem * base”、“num = num/2”和“base = base * 10”,以找到二进制数
步骤 8: 重复步骤 5。
步骤 9: 显示输入数字为“dnum”,其等效二进制数为bin。
步骤 10: 显示二进制数中1的数量为count。
#include <stdio.h>
void main() {
long num, dnum, rem, base = 1, bin = 0, count = 0;
printf("Enter a decimal integer\n");
scanf("%ld", & num);
dnum = num;
while (num > 0) {
rem = num % 2;
if (rem == 1) /*To count no.of 1s*/ {
count++;
}
bin = bin + rem * base; /*converting decimal into binary*/
num = num / 2;
base = base * 10;
}
printf("Input number is = %d\n", dnum);
printf("Its Binary equivalent is = %ld\n", bin);
printf("No.of 1's in the binary number is = %d\n", count);
} /* End of main() */
Enter a decimal integer 75 Input number is = 75 Its Binary equivalent is = 1001011 No.of 1's in the binary number is = 4 RUN2 Enter a decimal integer 128 Input number is = 128 Its Binary equivalent is = 10000000 No.of 1's in the binary number is = 1