はじめに
前回までの2回で、10進数と2進数の間の変換方法(除算法、および重み表を使う方法)を具体例とともに確認した。今回からは、もう一段階視野を広げて「8進数」「16進数」という他の記数法との変換を扱っていく。まずは、8進数・16進数から10進数への変換方法を解説する。
桁の重みという共通の考え方
10進数への変換は、記数法が変わっても考え方は同じである。前回までに扱った2進数と同じく、各桁に「その記数法の基数のべき乗」という重みが割り当てられており、桁の値と重みを掛けて合計すれば10進数に変換できる。
- 8進数:右から8⁰、8¹、8²、8³……
- 16進数:右から16⁰、16¹、16²、16³……
2進数の場合の重み(128, 64, 32, 16, 8, 4, 2, 1)を思い出してもらえれば、基数が2から8や16に変わるだけで、やり方自体は変わらないことがわかるはずである。
8進数から10進数への変換
8進数は0~7の8種類の数字を使う記数法である。754(8進数)を例に見てみる。
7 5 4
8² 8¹ 8⁰
64 8 1各桁の値と重みを掛けて合計すると、次のようになる。
7×64 + 5×8 + 4×1 = 448 + 40 + 4 = 492したがって、754(8進数)は10進数の492に対応する。
16進数から10進数への変換
16進数は0~9とA~F(10~15を表す)の16種類の記号を使う記数法である。2AF(16進数)を例に見てみる。
2 A F
16² 16¹ 16⁰
256 16 1AとFはそれぞれ10、15を表すため、次のように計算する。
2×256 + 10×16 + 15×1 = 512 + 160 + 15 = 687したがって、2AF(16進数)は10進数の687に対応する。
変換の際に注意したいポイント
- 記号と数値の対応を正確に覚える
16進数のA~Fが10~15に対応するという点は、迷わず変換できるようにしておきたい。 - 桁数を数え間違えない
右端を0桁目として数える習慣をつけると、桁の重みを取り違えにくくなる。 - べき乗の値を覚えておく
16のべき乗(16, 256, 4096……)、8のべき乗(8, 64, 512……)もある程度暗記しておくと、計算のスピードが上がる。
練習問題
理解を定着させるため、以下の問題を自分で計算してみてほしい(解答は次回の記事で解説する)。
632(8進数)を10進数に変換してください。1C4(16進数)を10進数に変換してください。
まとめ
- 8進数・16進数から10進数への変換も、2進数のときと同じく「桁の重み×桁の数字」を合計する考え方で行える。
- 8進数は8のべき乗、16進数は16のべき乗を桁の重みとして使う。
- 16進数のA~Fは10~15に対応する記号であり、正確に覚えておく必要がある。
次回は、逆方向の変換、つまり「10進数から8進数・16進数への変換」、そして2進数・8進数・16進数どうしを直接変換する方法について解説する。



コメント