n進数を10進数表記へ変換する
2進数や16進数など10進数表記ではない数を10進数に変換して表す方法をメモします。
(10進数からn進数への変換の逆を行う)
2進数や16進数を10進数表記へ変換するには桁の重みという概念を使用して計算します。
桁の重みを利用する
「桁の重み」とは数の位が上がる(桁上がり)際に元の何倍になっているかを表すものです。
例えば、
10進数であれば1が桁上がりすると10、その次が100、その次が1000…のように桁上がりするごとに数が10倍ずつ増えています。
2進数の場合は桁が上がるごとに数が2倍ずつ増えていきます。
n進数を10進数へ変換するために、この「桁の重み」を利用していきます。
2進数の桁の重み
16進数の桁の重み
各桁に対応する桁の重みは、nの0乗、1乗、2乗…のように乗数を増やしていき元の数である1からの倍数となる。
小数点以下の桁の場合、桁上がりとは反対に桁下がりの倍数分の1と計算する。(-n乗の結果)
数に対して0乗は必ず1ですので、1の位の桁の重みは2進数でも16進数でも1となります。
10進数への変換は対象の数値の桁に該当する桁の重みをかけていき、それぞれを合計して求めて行います。
(以降で変換例を紹介)
2進数を10進数に変換する
2進数の桁の重みを利用して10進数に変換します。
(例)2進数 1101.011を10進数に変換
各桁それぞれに対象の桁の重みをかけ、合計した数字が10進数変換結果となります。
(2進数)1101.011
↓
(10進数)13.375
16進数を10進数に変換する
16進数の桁の重みを利用して10進数に変換します。
(例)16進数 21A.2を10進数に変換
※16進数「A」は10進数「10」を表します。
2進数と同様、各桁に対象の重みをかけて合計します。
(16進数)21A.2
↓
(10進数)538.125