我正在编写一个将整数转换为 32 位二进制的程序。问题出在输出上——它倒退了。
#include <stdio.h>
int main() {
long number, binary, num2;
printf("Enter an integer: ");
scanf("%ld", &number);
for (num2 = (number * 2) / 2; num2 > 0; num2 /= 2) {
binary = num2 % 2;
printf("%ld", binary);
}
putchar('\n');
return 0;
}
所以如果我输入“6”,它会显示为 011,它必须是 110
另外,我如何输出其余的'0'?因此,在这种情况下,整个输出将是:
00000000 00000000 00000000 00000110