• ベストアンサー

8進数から16進数への変換

8進数から16進数、また、16進数から8進数に 計算過程でほかの進数に変換することなく直接変換できますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

例: 8進の 324 を16進に。 32 と 4に分ける 32 を 2で割る → 15 あまり 0 あまり0なので、4はそのまま。 15を1 5 に分ける。 1を2で割る→ 0 あまり 1 あまり1なので、 5に+8する 0になったので終了。 答えは D4 等というように、ビットシフトと等価な計算はできます。 ただ、これを「他の進数に変換していない」と言っていいか微妙です。 それに、2進数にして区切りを変更する方が楽なのではないでしょうか。 324 → 011 010 100 → 0 1101 0100 → D4

その他の回答 (1)

  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.2

8進数か16進数のどちらかで計算をすればいいのです。 0~16(10進数)で16進数と8進数の対応をつけておく必要はあると思いますが。 具体例として、8進数の234を16進数で計算して16進数の9Cに変換してみます。 以下、8進数は234(8)のように(8)を数字の後につけ、16進数は同様に9C(16)のようにします 234(8)を1桁ずつにばらすと2(8), 3(8), 4(8)。 それぞれ16進数では2(16), 3(16), 4(16)。 また、10(8)は8(16)。 2(16)×8(16)=10(16) 10(16)+3(16)=13(16) 13(16)×8(16)=98(16) 98(16)+4(16)=9C(16) とはいってもたとえば手計算で行う場合、普通の人は8進数や16進数で「九九」のような基本的な計算を覚えてはいませんので、その意味で手計算で行うなら実用的には10進数を使う必要があると言えるかもしれません。 (質問内容には無関係ですが、その他(学問・教育)ではなく数学のカテゴリに出せばあっという間に複数の回答がつくと思うのですが・・・)

関連するQ&A