検索用コード
我々が普段使っているのは\textbf{\textcolor{blue}{10進法}}である. \\[.2zh] しかし,\ この基準(\textbf{\textcolor{blue}{底}})の10という数に数学的必然性はない. \\[.2zh] おそらく,\ 人間の両手の指が10本であったために10進法が主流になったのだろう. \\[1zh] 10に数学的必然性がないのならば,\ 他の数を基準として数えた人達もいたはずである. \\[.2zh] 現在でも時間には60進法が用いられているし,\ 英語には12進数の名残も見られる. \\[.2zh] \centerline{10(ten),\ \ 11(eleven),\ \ 12(twelve),\ \ 13(thir\underline{teen}),\ \ 14(four\underline{teen}),\ \ 15(fif\underline{teen}),\ \ $\cdots\cdots$} \\[.2zh] また,\ コンピュータの世界では必然的に2進法が用いられる. \\[.2zh] ON・OFFの切り替えなど2値のみで動作でき,\ 構造が単純になるからである. \\[.2zh] 10進法に慣れすぎているだけで,\ 10を基準とすることが常に有利とは限らないのである. \\[2zh] では,\ 他の数字を基準とする記数法を学習することにしよう. \\[1zh] そもそも10進法とは,\ \textcolor[named]{ForestGreen}{数を0\,~\,9の10個の文字で表現する}ことである. \\[.2zh] 同様に,\ \textcolor[named]{ForestGreen}{2進法は0\,~\,1の2個,\ 3進法は0\,~\,2の3個,\ 5進法は0\,~\,4の5個}である. \\[.2zh] また,\ \textcolor[named]{ForestGreen}{0\,~\,9にA,\ Bを加えた12文字で表現するのが12進法}である. \\[.2zh] このように,\ 10を超えて数字が足りなくなればアルファベット(大文字)を含めて表す. \\[1zh] さて,\ どうすれば限られた文字数で●の個数を表現できるだろうか. \\[.2zh] 次のように,\ \textcolor{red}{文字が足りなくなるたびに位を1つ上げていく}のが合理的である.
この規則でいくと,\ 10進法では\textcolor[named]{ForestGreen}{1が10個集まって10になるとき位が1つ上がる.} \\[.2zh] \textcolor[named]{ForestGreen}{10が10個集まって100になるとまた位が1つ上がる.} \\[.2zh] \textcolor[named]{ForestGreen}{100が10個集まって1000になるとさらに位が1つ上がる.}\ 以降も同様である. \\[.2zh] 文字数が10個しかないため,\ 10個そろうたびに位を上げるしかなくなるわけである. \\[.2zh] よって,\ 1,\ 10,\ 100,\ 1000,\ $\cdots\cdots$の位ができることになる. \\[.2zh] 結局,\ \textbf{\textcolor{magenta}{10の累乗($\bm{\cdots,\ 10^3,\ 10^2,\ 10^1,\ 10^0}$)を位取りの基本とする}}のが\textbf{\textcolor{blue}{10進法}}である. \\[1zh] 例えば,\ 10進法で表された2846は次のような意味合いをもつ. \\[.5zh] 同様に,\ 2進法では\textcolor[named]{ForestGreen}{1が2個集まって2になるとき位が1つ上がる.} \\[.2zh] \textcolor[named]{ForestGreen}{2が2個集まって4になるとまた位が1つ上がる.} \\[.2zh] \textcolor[named]{ForestGreen}{4が2個集まって8になるとさらに位が1つ上がる.}\ 以降も同様である. \\[.2zh] 文字数が2個しかないため,\ 2個そろうたびに位を1つ上げるしかなくなるわけである. \\[.2zh] よって,\ 1,\ 2,\ 4,\ 8,\ $\cdots\cdots$の位ができることになる. \\[.2zh] 結局,\ \textbf{\textcolor{magenta}{2の累乗($\bm{\cdots,\ 2^3,\ 2^2,\ 2^1,\ 2^0}$)を位取りの基本とする}}のが\textbf{\textcolor{blue}{2進法}}である. \\[1zh] 例えば,\ 2進法で表された1101は次のような意味合いになる. \\[.5zh] なお,\ 複数の底を混同する可能性がある場合,\ 右下に括弧で底を明記する. \\\\
このように,\ $\bm{\textcolor{magenta}{nの累乗(\cdots,\ n^3,\ n^2,\ n^1,\ n^0)を位取りの基本とする}}のが\bm{\textcolor{blue}{n進法}}である.$ \\[.2zh] $n$が大きくなるほど必要な文字数が増えるが,\ 少ない桁数で大きな数を表せる. \\[1zh] $1101_{(2)}=13_{(10)}$と同様にして,\ \textbf{\textcolor{blue}{$\bm{n}$進数\,→\,10進数}}の変換ができる. \\[.5zh] {10進数\,→\,$\bm{n}$進数}}の変換はどうすればよいだろうか. \\[.2zh] 例えば,\を2進数に変換することは,\ 次の$a_3,\ a_2,\ a_1,\ a_0$を特定することに等しい.
以下のように,\ \textbf{\textcolor{magenta}{繰り返し2で割ることで$\bm{a_0}$から順に特定できる.}} \\[.2zh] 一般に,\ 割り算の結果は$\textcolor[named]{ForestGreen}{(割られる数)=(割る数)\times(商)+(余り)}$と表せる. \\[.2zh] 両辺の余りの部分を比較すると$\textcolor{red}{a_0=1}$となる. \\[.2zh] 次に,\ 商の部分のみ取り出し,\ $6=a_3\times2^3+a_2\times2^1+a_1$として同じ手順を踏む. \\[.2zh] わかりづらいが,\ 所詮は繰り返し2で割っているだけなので,\ 次の筆算表記で簡潔になる.
2で1回割ったときの余りが$a_0$,\ 2回割ったときの余りが$a_1,\ \cdots\cdots$である. \\[.2zh] よって,\ 矢印のような順で数字を並べて$1101_{(2)}$となる.
2進数以外の$n$進数への変換も同様,\ 繰り返し$n$で割ればよい. 5進法で143と表される数を2進法で表せ. \\
10進数を経由して2進数に変換する. \\
3進数2000は$n$進数312である.\ 自然数$n$を求めよ. 記数法の決定
それぞれ10進法表記に変換してから等式で結べばよい. \\