電子書籍の厳選無料作品が豊富!

2進数の101を8進数に変換するときは、
1*2^2+0*2^1+1*1^0=5
で求めることができます。

逆に8進数から2進数に変換する際、どのような式を使って直接変換するのでしょうか。
或いは、計算式などなく対応表(8進数1桁の5なら101)のようなもので計算するのでしょうか。

A 回答 (4件)

>或いは、計算式などなく対応表(8進数1桁の5なら101)のようなもので計算するのでしょうか。



はい。あとは「8進数の桁上り」が「2進数では3桁シフト」という「桁のシフト」を使えば、全く機械的に変換できます。
8 = 2^3 ですから。
16進数も、16=8^4 ですから、「4桁シフト」にすれば同様に2進数/16進数の変換が「機械的」にできます。


[n] を「n進数」を示す意味で記載すれば

(7654367.567)[8] = (111 110 101 100 011 110 111 . 101 110 111)[2]

(1010 1110 0001.0110 0011)[2] = (101 011 100 001 . 011 000 110)[2]  ←小数点を基準に3桁ごとに区切り
                = (5 3 4 1. 3 0 6)[8]  ←3桁ごとに8進数に変換

(1010 1110 0001.0110 0011)[2] = (1010 1110 0001 . 0110 0011)[2]  ←小数点を基準に4桁ごとに区切り
                = (A E 1. 6 3)[16]  ←4桁ごとに16進数に変換
    • good
    • 1

○十進数→二進数 はどうやって求めてますか?


それと考えは同じです。

○コンピュータ関係者だったら
三桁の二進数↔一桁の八進数、四桁の二進数↔一桁の十六進数 位は暗記してます。
    • good
    • 0

底の原理から見ればわかる。


8進の各桁を2進で表現して羅列して完了。
逆は3桁毎に区切って8進の各桁にして完了。

654321 8進⇒2進 110 101 100 011 010 001

1110101100 2進⇒8進 1|110|101|100 = 1654
    • good
    • 0

8は2の3乗なので、8進法の各桁を二進法として三桁ずつに分解すればいいです



八進法の52は5と2に分けて
5が二進数101
2が二進数010
だから
101010
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!