ビット

 数値を数字で表記するときに、国際的には、横書きで右から左へその重みが重くなる。日本独特の表記では、漢数字は縦書きだから、私の想像では、日本単独では数学の進歩がなかったろう。

 つまり、横書きだから理解できる概念として、「桁」が存在しよう。この桁をビットという。コンピューターは2値しか認識する術がないので、一桁に2値が入る。表記に必要な文字は2種類でよい。「0」と「1」でよかろう。だから、8桁用意すれば、十進数の0から31までの32種類の数値、状態を表現できる。これが8ビット。

 日本にあった(既に倒産している。)会社の「ビジコン」社と、アメリカの当時小さな半導体製造会社「インテル」が共同開発した、世界初のマイ・コンは4ビットであった。16値を表現できる。コンピュータに最低限必要な命令セットと、数値を表現する。この4ビットが限界少である、数値の表現はむろん、きりがないので、レジスタ(値数器)をつながねばならない。

 この4ビットレジスタに書き込まれている4桁の「0」と「1」が、「命令」か「データ」か。データであれば、「負」か「正」か。桁はまだ「続くの」か「終わり」か。

 非常に困ることは、小数の表現である。十進数の「0.1」を2進数で表現すると??

 答えは、表記不能である。2進数の0.1は十進数の0.5を意味し、0.01は0.25、0.001は0.125.0.0001でやっと、0.0625.つまり、十進数の、1より小さい数値は5桁となる。しかも、0.1ではないので、さらに小さな数値を集めて近似値とせねばならない。こうして、2進数で表記する値は、宿命的に、誤差を含む。

 で、戻るが、この4ビット内で、その数値が小数なのか否か。小数であれば、メモリーのレジスタをいくつ用意せねば、受け入れられないのか。こんなことまで、指示せねばならない。

 だから、コンピュータの限界少レジスタは4ビットである。

 ここは、重要な事柄だから、続ける。

 2進数を「そろばん」で説明すると、5玉のそろばんでなく、1玉のそろばん。棒がビットにあたる。「ご和算で願いましては」で、そろばんを傾け、手前えに玉が揃う。「0」である。「一円也」で親指の腹で玉を上げる。「1」である。さらに、「1円也」2進数では、「1円也」しかない。すると、玉は上がっているので、そろばんの規則に従い、人差し指の腹で上げた玉を下げて、左となりの玉を親指の腹で上げる。「繰り上げ」が起こる。

 こんな数値の表現方法が2進数で、8ビットであれば、0から255の256通りを表現できる。ビットマップ(説明諸略)の色調指定が256段階であることもこれが理由。