% 16進数

\documentclass{jsarticle}
\pagestyle{myheadings}
\markright{tmt's math page}
\def\baselinestretch{1.33}

\begin{document}

\noindent\textbf{16進数}

私たちが使う数は$10$進数である。コンピュータは$2$進数を用いている(ことが多い)。$16$進数は、私たちとコンピュータの仲を取り持つ数とも言える。ちなみに$10+20 = 30$を$2$進数と$16$進数で表すと
\begin{quote}
$\begin{array}{rcl}
1010+10100 & = & 11110 \\
\textrm{A}+14 & = & 1\textrm{E}
\end{array}$
\end{quote}
である。どっちの式を見ても、直感的に$10+20 = 30$の計算とは思えない。それなら、何も仲を取り持つ$16$進数なんていらないんじゃないの?

ごもっともである。しかし、$16$進数の存在にはそれなりの理由があるのだ。一つは初期の時代の機械的制約のために、もう一つの理由は、それでも$16$進数の方が$2$進数よりも扱いやすいからだ。

コンピュータが扱う最小単位は「ビット」と呼ばれ、$0$か$1$を表すことしかできない。現代の私たちは、$0$からの数を扱うことが多いので、$1$ビットだとそのまま$0$から$1$までの数しか使えないことになってしまう。でも、$1$ビットをいくつか横につなげると、各桁が$0$と$1$の$2$種類しか表せなくても、桁を一つ増やすごとに表せる数が$2$倍になる。$4$ビットなら$16$倍だ。実は、初期のコンピュータは$4$ビットで数を扱っていたので、必然的に$16$が単位となったわけである。

その後、コンピュータは$8$ビット、$16$ビット、$32$ビット、$64$ビットと大容量化の道をたどっていくが、どれも$4$ビットのユニットをつなげているだけである。$16$進数も$2$進数も、私たちには異な数に写るけれど、$4$ビットが単位である以上、扱いやすさで$16$進数に軍配が上がる。

困ったのが「数字」だ。$10$進数には$10$種類の数字が必要なように、$16$進数には$16$種類の数字が必要となる。すでに古代から使われている$10$種類の数字はあるので、あと$6$種類を何とかしなくてはならない。そこで新たに数字を創る手間を省いて、既存の文字を数字に仕立てたのである。$6$種類の「数字」はA, B, C, D, E, Fだ。そこで2FA7なんていう、へんてこな「数」が出来上がる。これは何と読もう? まさか「2千F百A十7」じゃないだろう。もちろん読む必要なんてない。だって、日常使う数じゃないからね。

\end{document}