% 16進数
\documentclass[a4j]{jsarticle}
\pagestyle{myheadings}
\markright{\sf tmt's math page}
\def\baselinestretch{1.33}
\begin{document}
\noindent{\bf 16進数(hex decimal)}
私たちが使う数は$10$進数である。コンピュータは$2$進数を用いている(ことが多い)。$16$進数は、私たちとコンピュータの仲を取り持つ数とも言える。ちなみに$10+20 = 30$を$2$進数と$16$進数で表すと
\begin{eqnarray*}
1010+10100 &=& 11110 \\
A+14 &=& 1E
\end{eqnarray*}
である。どっちの式を見ても、直感的に$10+20 = 30$の計算とは思えない。それなら、何も仲を取り持つ$16$進数なんていらないんじゃないの?
ごもっともである。しかし、$16$進数の存在にはそれなりの理由があるのだ。ひとつは、初期の時代の機械的制約のために、もうひとつの理由は、それでも$16$進数のほうが$2$進数よりも扱いやすいからだ。
コンピュータが扱う最小単位は「ビット」と呼ばれ、$0$か$1$を表すことしかできない。現代の私たちは、$0$からの数を扱うことが多いので、$1$ビットだとそのまま$0$から$1$までの数しか使えないことになってしまう。でも、$1$ビットをいくつか横につなげると、各桁が$0$と$1$の$2$種類しか表せなくても、桁を$1$つ増やすごとに表せる数が$2$倍になる。$4$ビットなら$16$倍だ。実は、初期のコンピュータは$4$ビットで数を扱っていたので、必然的に$16$が単位となったわけである。
その後、コンピュータは$8$ビット、$16$ビット、$32$ビットと大容量化の道をたどっていくが、どれも$4$ビットのユニットをつなげているだけである。$16$進数も$2$進数も、私たちには異な数に写るけれど、$4$ビットが単位である以上、扱いやすさで$16$進数に軍配が上がる。
困ったのが「数字」だ。$10$進数には$10$種類の数字が必要なように、$16$進数には$16$種類の数字が必要となる。すでに古代から使われている$10$種類の数字はあるので、あと$6$種類を何とかしなくてはならない。そこで新たに数字を創る手間を省いて、既存の文字を数字に仕立てたのである。$6$種類の「数字」はA, B, C, D, E, Fだ。そこで$2$FA$7$なんていう、へんてこな「数」が出来上がる。これは何と読もう? まさか「$2$千F百A十$7$」じゃないだろう。もちろん読む必要なんてない。だって、日常使う数じゃないからね。
\end{document}