我正在编写一个程序将整数转换为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