8進数から16進数への基数変換
いきなりですが、実際に出題された問題です。![]()
![]()
いきなり解かなくていいですよ![]()
![]()
=================================
平成21秋
=================================
【問64】8進数の55を16進数で表したものはどれか。
ア 2D イ 2E ウ 4D エ 4E
=================================
平成22春
=================================
【問52】2進数1.101を10進数で表現したものはどれか。
ア 1.2 イ 1.5 ウ 1.505 エ 1.625
=================================
平成22秋
=================================
出題なし。
と、まぁ定番のように基数変換は出題されます。![]()
で、今回は問64の8進数→16進数を解説します。![]()
解き方がいろいろありますので
まずは2通りの解き方
【正攻法】
8進 → 10進 → 16進
8進数を10進数に変換し、変換後の10進数から16進数に変換する。
【簡単な方法】※
8進 → 2進 → 16進
8進数を2進数に変換し、変換後の2進数から16進数に変換する。
※以下の変換パターンの場合のみ有効
2進数 ←→ 8進数
2進数 ←→ 16進数
8進数 ←→ 16進数
では、まず正攻法で解いてみましょう。![]()
1.55(8進)を10進に変換します。
見出しを書き出します。見出しの書き出し方
64 8 1
じゃ、55で計算します。
64 8 1
× × ×
0 5 5
= =
40 5
40 + 5 = 45(10進)
2.45(10進)を16進にします。
見出しを書き出します。
256 16 1
見出しの大きい値で割って行きます。
45は256では割れないので次の16で割ります。
45 ÷ 16 = 2 ・・・ 13
2で割れたので、16のところに2として、余りは1の桁に13とします。
256 16 1
× ×
2 13
= =
32 13
検算(32 + 13 = 45(10進))
★2、13 と求められましたが、13を一桁で表すのが16進数なので。
0(10進) → 0(16進)
1(10進) → 1(16進)
2(10進) → 2(16進)
省略
9(10進) → 9(16進)
10(10進) → A(16進)
11(10進) → B(16進)
12(10進) → C(16進)
★13(10進) → D(16進)
13(10進)は、D(16進)です。
よって、2Dとなり、答えは「ア」となります。
ふうーε=(。・д・。)
疲れたので、簡単な方法の説明は次回に気が向いたら。。
(^-^)/
↓簡単な方法