整数の基数変換
整数(数学A)(教科書範囲) ★

$n$ 進法の概念について導入し,整数の基数変換の方法について扱います.小数の基数変換は扱いません.
情報Iや基本情報技術者試験等,情報系でも問われる分野です.
$n$ 進法とは
私達の日常生活では,$0$ から $9$ までの $10$ 種類の数字を活用しています( $10$ 進法).しかしそうではない世界があります.コンピュータでは,単純化,算術演算(論理演算も)が簡単という点で $2$ 進法が採用されています.数値,文字,画像から音声まですべて $0$ と $1$ で表現する世界です(この1桁を1ビットといいます).(高校数学で) $2$ 進法で $6$ を表現したい場合
$6=110_{(2)}$
のように $0$ と $1$ で表現し,添字として $(2)$ を付けて $2$ 進法であることを明記します( $10$ 進法の場合は特に明記しません).この数字を基数(または底)といいます.
一方,このページのようにWebサイトの場合では色を $16$ 進法で表現します(カラーコード).
これは何色ですか???
上の色は $1\rm{BE}0\rm {A}2$ という色です. $16$ 進法だと数字が足りないので $\rm A$ 〜 $\rm F$ まで追加して表現します.色は赤,緑,青(光の3原色)の組み合わせで表現します,それぞれが $00$ 〜 $\rm FF$ までの $16^{2}=256$ 通りの表現ができ(全体としては $256^{3}$ 通り),上の色だと赤の要素が $1\rm{B}$,青の要素が $\rm{E}0$,緑の要素が $\rm {A}2$ という数値で色を対応させ組み合わせて表現しています.サイトを作る時にはredという単純な命令で色も出せますが,拘りたい時には上記のように表現します.
上のように $n$ 個の数字や文字で数を表現する方法を $\boldsymbol{n}$ 進法といい,高校数学では $6=110_{(2)}$ のような,$10$ 進法から $n$ 進法への基数変換,また逆に $110_{(2)}=6$ のように $n$ 進法から $10$ 進法への基数変換の方法を学びます.
$n$ 進法から $10$ 進法への基数変換
$10$ 進法で $abc$ という3桁の数は,左から順に $10^{2}$ の位,$10$ の位,$1$ の位なので
$abc=a\cdot 10^{2}+b\cdot10+c$
とできます.
$2$ 進法で $abc_{(2)}$ という3桁の数は,左から順に $2^{2}$ の位,$2$ の位,$1$ の位と解釈できるので
$abc_{(2)}=a\cdot 2^{2}+b\cdot2+c$
とできます.
先ほどの $110_{(2)}$ ならば
$110_{(2)}=1\cdot 2^{2}+1\cdot2+0=6$
として $10$ 進法の数に変換できますね.以下でまとめます.
ポイント
$n$ 進法から $10$ 進法への基数変換
$n$ 進法で $abc_{(n)}$ という3桁の数は
$\boldsymbol{abc_{(n)}=a\cdot n^{2}+b\cdot n+c}$
として $10$ 進法に計算できる.
※ 4桁以上でも同様です.
次章では逆の操作方法を扱います.
$10$ 進法から $n$ 進法への基数変換
$10$ 進法で $N$ という数を,$n$ 進法で $\cdots dcba_{(n)}$ とできるとすると
$\begin{align}N&=\cdots cba_{(n)} \\ &=a+b\cdot n+c\cdot n^{2}+d\cdot n^{3}+\cdots\end{align}$
とできます.第2項以降は $n$ の倍数なので,$a$ は $N$ を $n$ で割った余りだとわかります.
両辺 $a$ を引いて $n$ で割ると
$\dfrac{N-a}{n}=b+c\cdot n+d\cdot n^{2}+\cdots$
となるので,同様に第2項以降は $n$ の倍数なので,$b$ は $\dfrac{N-a}{n}$ (これは $N$ を $n$ で割った商です)を $n$ で割った余りだとわかります.
これを繰り返していくと,$a$,$b$,$c$,$d$,$\cdots$ が求められますね.これを機械的に行う処理として,例えば $10$ 進法で $6$ という数を $2$ 進法に変換するには以下のように

$6=1\cdot 2^{2}+1\cdot2+0=110_{(2)}$
上のように割れなくなるまで余りをメモし,最後の商から順に余りを並べていくと算出できます.
ポイント
$10$ 進法から $n$ 進法への基数変換
$10$ 進法で $N$ という数を,$n$ 進法で表現したいとき
$\boldsymbol{N}$ を $\boldsymbol{n}$ で割った余りメモし,また商を $\boldsymbol{n}$ で割った余りメモしを繰り返し,最後の商から順に余りを並べていく
例題と練習問題
例題
例題
(1) $241_{(5)}$ を $10$ 進法で表せ.
(2) $50$ を $3$ 進法で表せ.
講義
(1)では左から順に $5^{2}$ の位,$5$ の位,$1$ の位と解釈して計算します.(2)ではひたすら $3$ で割って余りをメモしていきます.
解答
(1)
$241_{(5)}$
$=2\cdot 5^{2}+4\cdot5+1$
$=\boldsymbol{71}$
(2)

$50=\boldsymbol{1212_{(3)}}$
練習問題
練習
(1) $345_{(6)}$ を $10$ 進法で表せ.
(2) $10110_{(2)}$ を $10$ 進法で表せ.
(3) $52$ を $2$ 進法で表せ.
(4) $777$ を $7$ 進法で表せ.
解答
(1)
$345_{(6)}$
$=3\cdot 6^{2}+4\cdot6+5$
$=\boldsymbol{137}$
(2)
$10110_{(2)}$
$=1\cdot 2^{4}+0\cdot 2^{3}+1\cdot 2^{2}+1\cdot 2+0$
$=\boldsymbol{22}$
(3)

$51=\boldsymbol{110100_{(2)}}$
(4)

$777=\boldsymbol{2160_{(7)}}$