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


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


お便り2003/9/29
from=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");
  }
}