【发布时间】:2015-04-19 10:00:48
【问题描述】:
#include<stdio.h>
int main()
{
long int decimalNumber,remainder,quotient;
int binaryNumber[100],i=1,j;
printf("Enter any decimal number: ");
scanf("%ld",&decimalNumber);
quotient = decimalNumber;
while(quotient!=0)
{
binaryNumber[i++]= quotient % 2;
quotient = quotient / 2;
}
printf("Equivalent binary value of decimal number %d: ",decimalNumber);
for(j = i -1 ;j> 0;j--)
printf("%d",binaryNumber[j]);
return 0;
}
我想要输出 8 位二进制形式,但结果如下图,C 中有没有可以将 7 位数据转换为等效的 8 位数据的运算符?谢谢
样本输出:
输入任意十进制数:50
十进制数50的等效二进制值:110010
需要的输出是00110010 8位,如何在MSB位置附加一个零?
【问题讨论】:
-
你的意思是你想要 8 位的块吗?因为您的“任何十进制数”都不适合 8 位。
-
你必须记录你的实际二进制数有多长(辅助变量 mb?),在你看到之后决定在开头附加多少个零。
-
如果您的号码是 64 到 255,它会起作用。您正在生成足够的数字来表示该数字。有几种方法可以解决这个问题...
标签: c