- ベストアンサー
なぜ8bitは1バイトなんですか
なぜ8bitは1バイトなんですか 8bitは1byteと定義されています。2^3で8ビット。これはわかります。 でも、なぜ1byteを4でも16でも32bitにもしなかったんでしょうか?何か意味があったんでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
(Fred Brooksは)「私が行った最も重要だった決断は、(IBM 360シリーズで)1バイトを6ビットから8ビットに変更したことだ。それによって小文字が使えるようにした。この変更はあらゆる場所に伝播していった」と答えている。 http://ja.wikipedia.org/wiki/%E3%83%95%E3%83%AC%E3%83%87%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%83%96%E3%83%AB%E3%83%83%E3%82%AF%E3%82%B9 http://www.wired.com/magazine/2010/07/ff_fred_brooks/ 連続投稿,失礼。 検索してみたら私も知らなかったネタがヒットしたので。
その他の回答 (4)
- jjon-com
- ベストアンサー率61% (1599/2592)
To: No.1の回答者へ プロフィールを拝見する限り,次のblogの著者と同一人物とも思えませんでした。 http://shoushin.blogspot.jp/2009/09/118bit.html 全面的に引用するなら引用するでもかまいませんから出典を示しましょう。
- jjon-com
- ベストアンサー率61% (1599/2592)
-------- 本来バイトとは、欧文文字1字分の文字コードを表現するために用いるビット数のことをいい、扱う文字種や、あるいはワードサイズをいくつかに分割することによって決められ、その大きさは処理系によって異なる。歴史的には5ビットから12ビットまであったといわれ、初期のコンピュータの多くでは6ビット、また7ビットや9ビットとして扱うコンピュータもあった(DEC PDP-10、NEC ACOS-6など)。 http://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88_(%E6%83%85%E5%A0%B1) -------- > なぜ1byteを4でも…しなかったんでしょうか? 欧文大文字1文字(A-Z)を格納するにも足りないから。 > なぜ1byteを…16でも32bitにもしなかったんでしょうか? 初期のコンピュータは,メモリ容量がKバイト程度と少なく,非常に高価で,16bit長や32bit長を文字単位とすべきような非欧文文字圏など想定していなかったから。
お礼
ご回答ありがとうございます。歴史的背景があるのですね。理解できました!ありがとうございます!
- mpascal
- ベストアンサー率21% (1136/5195)
本格的に利用されだした初期のCPUが、8bit だったからでしょうね。(intel 8008 とか)
お礼
ご回答ありがとうございました。初期のCPUが8ビットだったのですか。なるほど!
コンピュータ内部ではオン/オフを示すbitを処理する回路で構成されます。データを取り出すためには、それぞれのビットを取り出すのではなく、まとまった単位で取り出す方が効率的です。そこで、CPUは、何らかの単位でビットの集まりを取り出して、アキュムレータやレジスタと呼ばれる演算器へ送られ、そこで、演算を行ってメモリに格納します。この基本単位がバイトとなります。CPUは、ビットが集まって作られているCPU命令を基に動作します。この命令もメモリに格納されていますので、CPUが解釈する命令もバイトの倍数となります。 昔は、メモリも十分に無かったので、表現が必要なパターンがバイトで表現できるようすることが、効率的にコンピュータを利用することになります。このため、昔のコンピュータでは、アドレスの単位が6bitのコンピュータもありました。有名なコンピュータは、PDP-11です。PDP-11は、1バイトが6ビットでした。HPのホームページには、PDP-11開発談があります。その中には、開発者のケンオルセンの話が以下のようにあります。 「その当時必要とされていたデータは6ビットでいろいろな文字コードや制御コードを表現していたんだよ。」 ちなみに、UNIXで8進数表現がある点もPDP-11の命令を表現し易かった事が理由であると思います。 しかし、処理する文字が英語の大文字小文字や特殊記号など増えてくるのに従って、6ビットでは足りなくなってきました。英語大文字+英語小文字+数字を表現するだけで26+26+10=64パターン必要です。64パターンを表現するには、6ビット必要となります。さらに、プラスやマイナス等の特殊記号を表現させるために、最低でも7ビット必要となります。 7bitで1バイトでも良いのですが、通信用のパリティビットを表現させたりするために、プラス1ビットを追加した8ビットが1バイトとなりました。
お礼
ご回答ありがとうございました。
お礼
これはわかりやすいです!昔は6ビットだったのですね。ありがとうございます!