そもそも基数変換とは何か?
基数変換について簡単に解説します。
- 16進数と10進数
- なぜ基数変換するのか
- 桁の重みを乗算・合算
順番に見ていきましょう!
①16進数と10進数
基数変換とは、ある基数(進数)で表された数値を別の基数に変換することを指します。16進数は、0から9までの数字とA(10)、B(11)、C(12)、D(13)、E(14)、F(15)の文字を使って16個の数字を表現します。コンピュータなどの電子機器においては2進数の表現を簡潔にするために使われます。10進数は日常的に使われている普通の数値表現方式です。
②なぜ基数変換するのか
コンピュータは2進数が基本的な表現形式となっていますが、人間が読むのは困難です。そこで16進数が介在し、2進数と10進数の橋渡しを行います。例えば、16進数のカラーコード#FF5733を10進数のRGB値(表示色を指定する方式)に変換すると赤:255,緑:87,青:51となり、各色の成分がどの程度含まれているかを数値で直感的に理解できます。
③桁の重みを乗算・合算
16進数から10進数への変換方法
16進数から10進数へ変換する方法を、4パターンの例題を使って解説します。
- 整数を含む場合(1010)
- 小数を含む場合(0.248)
- 文字を含む場合(FF)
- 文字と数字を含む場合(0.C)
順番に見ていきましょう!
①整数を含む場合(1010)
まず16進数の各桁に『桁の重み』を掛けます。
- 4桁目:1×16の3乗 = 4096
- 3桁目:0×16の2乗 = 0
- 2桁目:1×16の1乗 = 16
- 1桁目:0×16の0乗 = 0
次にすべての値を合算することで変換完了です。
- 4096 + 0 + 16 + 0 = 4112
よって16進数の1010を10進数に変換すると”4112″になります。
②小数を含む場合(0.248)
まず16進数の各桁に『桁の重み』を掛けます。
小数点以下はそれぞれ16の-1乗、-2乗、-3乗になるので
- 1桁目:0×2の0乗 = 0
- 小数第1位:2×1/16 = 2/16
- 小数第2位:4×1/256 = 4/256
- 小数第3位:8×1/4096 = 8/4096
次にすべての値を合算することで変換完了です。
- 2/16 + 4/256 + 8/4096 = 73/512
よって16進数の0.248を10進数に変換すると”73/512″になります。
③文字を含む場合(FF)
まずは16進数の各桁に『桁の重み』を掛けます。
16進数の文字A~Fは10進数の10~15に対応しているので
- 2桁目:F(15) × 16の1乗 = 240
- 1桁目:F(15) × 16の0乗 = 15
次にすべての値を合算することで変換完了です。
- 240 + 15 = 255
よって16進数のFFを10進数に変換すると”255″になります。
④文字と数字を含む場合(0.C)
①~③で学んだ知識を総動員しましょう。
まずは整数部に16の0乗を、小数部に16の-1乗を掛けます。
- 1桁目:0 × 16の0乗 = 0
- 小数第1位:C(12) × 1/16 = 12/16
次にすべての値を合算することで変換完了です。
- 0 + 12/16 = 0.75
よって16進数の0.Cを10進数に変換すると”0.75″になります。
10進数から16進数への変換方法
逆に10進数から16進数へ変換するには以下のステップを踏みます。
- 10進数を16で除算する
- 商が0になるまで余りを求める
- 求めた余りを下から順に並べる
- 並べた値を16進数に変換する
10進数”178″を例に挙げて変換するなら
- 178 ÷ 16 = 11 余り 2
- 11 ÷ 16 = 0 余り 11
次に余りを下から並べて、16進数に変換します。
- 11,2 → B2
となるので、答えは”B2″になります。
コメント