基本情報技術者試験対策(6)「2進数と16進数および8進数の変換(1)」

スポンサーリンク
IT系

はじめに

前回までの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     1

Aと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……)もある程度暗記しておくと、計算のスピードが上がる。

練習問題

理解を定着させるため、以下の問題を自分で計算してみてほしい(解答は次回の記事で解説する)。

  1. 632(8進数)を10進数に変換してください。
  2. 1C4(16進数)を10進数に変換してください。

まとめ

  • 8進数・16進数から10進数への変換も、2進数のときと同じく「桁の重み×桁の数字」を合計する考え方で行える。
  • 8進数は8のべき乗、16進数は16のべき乗を桁の重みとして使う。
  • 16進数のA~Fは10~15に対応する記号であり、正確に覚えておく必要がある。

次回は、逆方向の変換、つまり「10進数から8進数・16進数への変換」、そして2進数・8進数・16進数どうしを直接変換する方法について解説する。


コメント

タイトルとURLをコピーしました