[1086]十進法と二進法

人間は生まれながらに指が5本、両手合わせると10本。このために数を数えるときは十進法がマッチしています。

十進法とは、0~9の数字を使って、10になったら位を上げる方法です。

1 2 3 4 5 6 7 8 9 
10←位が上がったところ

これに対し、

二進法とは0と1のみの数字を使って2になったら位を上げる方法です。

0(十進法では0)
1(十進法では1)
10(十進法では2)
11(十進法では3)
100(十進法では4)
101(十進法では5)
110(十進法では6)
111(十進法では7)
1000(十進法では8)
1001(十進法では9)
1010(十進法では10)

コンピューターはこの二進法で動いています。コンピューターには指はありませんが、電気で動いているので、その電気が流れる(オン)か流れない(オフ)かで状況を判断します。つまり指があるとしても2本しかない、と考えるとわかりやすいかもしれません。

人間は10本の指で数えますが、コンピューターは指が2本しかない。ということは人間の方つまり十進法のほうが数え方は優雅です。しかし一方で二進法は数字を二つしか使いませんのでシンプルさではこちらに軍配が上がります。

コンピューターに指は2本しかありませんが、そのスピードは電気の速さで行なうため、効率は悪くても計算速度は人間より速く、結果を素早く出すことができます。また、電気さえあれば、永久に計算し続けることができます。疲れやすく飽きっぽい人間より勝る部分です。

ところで、コンピューターは日進月歩の世界で、古いコンピューターより新しいコンピューターのほうが計算能力は高いのが当たり前となっていますね。同じ電気で二進法で動いているのになぜにこんなに違うのか?

それは電気のオンオフの流れ、つまり周波数の違いに依存しているからなのです。昔のコンピューターはその頭脳であるCPU演算周波数が8MHzなんて時代もありました。これは1秒間に8,000,000回電気をオンオフして演算します。

しかし今は3.6GHzで動いているのが当たり前。なんと450倍です。膨大な計算もあっという間に片付けてしまいます。そしてこの先、どんどん演算速度は速くなっていくことでしょう。

【関連記事】
[310]CPUのハナシ