gpt4 book ai didi

将整数转换为 32 位二进制 - 输出向后

转载 作者:太空宇宙 更新时间:2023-11-04 07:10:42 26 4
gpt4 key购买 nike

我正在编写一个简单的程序来将整数(0 到 2147483647 之间)转换为 32 位二进制。

不幸的是,输出倒退了。例如,我得到的不是 2 = 10,而是 2 = 01

#include<stdio.h> 

int main()
{
int finishFlag = 0; //0 = false, 1 = true

while (finishFlag != 1)
{
int a[36],
n = 0,
i = 0, j = 0;

printf("Enter a number between 0 and 2147483647: ");
scanf("%d", &n);

if (n > 0 && n <= 2147483647)
{
printf("%d expressed as a 32-bit binary number is: ", n);

for (i = 0; i < 36; i++)
{
if (n == 1)
{
a[i] = 1;
break;
}
else
{
a[i] = n % 2;
n = n / 2;
}
}
for (j = 0; j <= i; j++)
{
printf("%d", a[j]);
}
printf("\n");
finishFlag = 1;
}
else
printf("\n** Not a valid input, try again ***\n");
}
return 0;
}

此外,我将如何显示其余的 0(包括每 8 个数字之间的空格)?对于整数“2”,我需要输出看起来像这样

00000000 00000000 00000000 00000010

最佳答案

您已经单独打印了数字;只需让 ji 开始,然后 down 计数到 0。至于打印空格:找出 i< 的值 你需要一个空格,测试它们,然后才打印一个。

关于将整数转换为 32 位二进制 - 输出向后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28683115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com