整数を 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