【コンピューター】1byteが8bitである理由
コンピューター関係の調べものをしていると、「1byteは8bitなので~~~」という説明がよく出てきます。
では、なぜ8bitが1byteになっているのでしょうか。
規格化されていない1byte
コンピューターは電気信号の2つの状態(強い・弱い)を無数に組み合わせることでデータやプログラムを表現しています。
この強い・弱いで表現された1桁の値を1bitと言います。
そしてこの1bitを8つ集めたものを現在は1byteと呼んでいます。
現在は、と但し書きを付けたのがミソでかつては4bitや6bit、9bitを1byteとして扱っていたマシンもあったみたいです。
こんな具合に、
- 1byte = 4bit
- 1byte = 8bit
- 1byte = 9bit
マシンによって1byteの意味するbit数はバラバラだったのです。
8bitが都合がよかった
色々な種類のbyteコンピューターが乱立する中ある問題が発生します。
コンピューターの複雑化に伴い、入力可能な文字が増え、8bitを基本単位にする必要が出てきたようです。
しかし、処理する文字が英語の大文字小文字や特殊記号など増えてくるのに従って、6ビットでは足りなくなってきました。英語大文字+英語小文字+数字を表現するだけで26+26+10=64パターン必要です。64パターンを表現するには、6ビット必要となります。さらに、プラスやマイナス等の特殊記号を表現させるために、最低でも7ビット必要となります。 7bitで1バイトでも良いのですが、通信用のパリティビットを表現させたりするために、プラス1ビットを追加した8ビットが1バイトとなりました。
小心者のプログラマー(2009年)
このようなシステム要件の事情とIBMが発表したSystem/360や8bit CPU のIntel 8080 が市場に広く浸透したことで 1byte = 8bitというデファクトスタンダードが作られていったという背景もあるようです。
1byteはマシンが解釈する任意個数のbitの固まり
このあたりの話を読んで、1byte = 8bitというわけではなく、 コンピューターが処理するbitの最小の塊が1byteなのかなーと思いました。
なのでもしもCPUの大幅な刷新が行われた場合、16bitが1byteになってしまうこともある…かも?
1byteが8bitである理由を調べようと思った経緯
最近ハードウェアに関して興味が出てきたため、CPUの動作原理などコンピューターの仕組みについて色々調べものをしていました。
その時ふと「bitが2進数で表される理由は分かったけれどなんでbyteは8で区切られたのだろう」と疑問に思いました。
現在の情報ソースがネットに転がっている記事を寄せ集めたものなので、間違った情報があるかもしれません。
ハードの知識をつけたうえで随時加筆していく予定です。