質問<1427>
「「変換するプログラム」」
日付 2003/9/28
質問者 ユベントス


10進法で表現された数を2進法、8進法、16進法の表現に変換する
プログラムをかけ。
ただし、入力する10進法の数は16の4乗ー1=65535までとする。

お便り
日付 2003/9/29
回答者 tetsuya kobayashi


#include

main()
{
unsigned int n, b[32];
int i;

while (1) {
printf("n=? ");
scanf("%d", &n);

printf("decimal: %d\n", n);
printf("octal: %o\n", n);
printf("hexadecimal: %x\n", n);

for (i=0; i<32; i++) {
b[i] = n & 0x00000001;
n>>=1;
}
do {
i--;
} while (!b[i] && i>0);
printf("binary: ");
while (i>=0) {
printf("%d", b[i]);
i--;
}
printf("\n\n");
}
}