10進法で表現された数を2進法、8進法、16進法の表現に変換する
プログラムをかけ。
ただし、入力する10進法の数は16の4乗ー1=65535までとする。
10進法で表現された数を2進法、8進法、16進法の表現に変換する
プログラムをかけ。
ただし、入力する10進法の数は16の4乗ー1=65535までとする。
#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");
}
}