- 締切済み
何で今時のコンピューターは8の倍数が基本なのか
『コンピュータで16進法を使うのは集積回路に乗っている石(メモリ?)の分子構造が8を規準にしていて、8の倍数である16進法を使うと都合が良いからだ』 みたいな事を昔聞いた記憶があるのですが、それらしい記事を検索しても見あたりません。 要は何で今時のコンピューターは8の倍数が基本なのか? それは素材の物理的性質に基づいた物なのか? ということを知りたいのです。 キーワードだけでも結構ですので知恵を貸していただけると有り難いです。宜しく。BD
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- akatombo59
- ベストアンサー率26% (119/451)
集積回路に使っている材料は金属結合ですので、そもそも分子というものが存在しないはずです。 従って、『分子構造』という言葉が出てきた段階で、与太話だと判断して良いのではないでしょうか。
- Kakugari
- ベストアンサー率53% (7/13)
16,64,128,256などの数字はコンピュータでよく使われる数字ですが、 8の倍数が基本ではなく、2のべき乗が基本です。 16=2^4 64=2^6 128=2^7 256=2^8 質問に「今時のコンピュータ」とありますが、コンピュータが生まれたときから、この原則はあります。 コンピュータは、電気が流れているか流れていないかの2通りしか判別ができないので、こういう仕組みになったのであり、素材云々は全く関係ありません。 もちろん、分子構造が8を基準にしているというのも誤りです。 それに、上の理由からコンピュータ内部では16進法ではなく2進法が基本です。 コンピュータは2進法しか使えないのですが、2進法で数字を表すと冗長になりすぎるので、人間にとって都合の良い16進数で表示しているだけに過ぎないのです。 よって、質問者様が昔に聞いた記憶のある 『コンピュータで16進法を使うのは集積回路に乗っている石(メモリ?)の分子構造が8を規準にしていて、8の倍数である16進法を使うと都合が良いからだ』 というのは、全て間違っています。
お礼
Kakugari さん、返答どうもありがとうございます。orz >2のべき乗が基本です。 お、言われてみると確かに…。 >というのは、全て間違っています。 昔、まだコンピューターの事が(今にもまして)てんで分かっていない時、しかも猛烈に忙しい仕事の合間に10秒くらいで説明された(と記憶している)事なので十分誤解した可能性が。
- ooxx
- ベストアンサー率25% (130/514)
質問者は年配の方でしょうか? 石という表現は今はあまり使いません。昔、鉱石ラジオというものがあり、科学少年のエレクトロニクス入門となっていました。 その後ゲルマニウムやシリコンになっても「石」という表現は使われていました。 シリコンに不純物を入れ、P型、N型シリコンを作り、それを3つ組み合わせてPNP,NPNトランジスタを作ります。 このトランジスタにスイッチ機能を持たせて論理回路を構成したのがコンピューターです。 よって分子構造が8を基準・・・は妄想です。 16、64、128、256 といったメモリの区切り方が「石」の性質に基づいている・・・も誤りです。どれも2の累乗の数です。
お礼
>質問者は年配の方でしょうか? 私は三十代ですが(それを年配というならばそうかも)、これを聞いたのは10年くらい前に、当時二十代後半だったプログラマーからです。 >・・・は妄想です。 うーん、了解しました…(T.T)。 何にせよ詳しく説明頂き、どうも有り難うございました。重ねてお礼申し上げます。orz
- asuncion
- ベストアンサー率33% (2127/6289)
1バイトが(基本的に)8ビットである理由は、 コンピュータを発明した欧米人の発想から 来ているように思います。 アルファベットの大文字・小文字、各種記号、 それに制御用の特殊記号の数を合わせると、 7ビットで表わせる128種類よりは多くて、 8ビットで表わせる256種類の範囲には収まった、 という事情があったのではないでしょうか。
お礼
asuncion さん早速の回答どうもありがとうございます。orz
- heyboy
- ベストアンサー率21% (1852/8730)
ある意味それは コンピューターの常識であり 疑問質問以前の基礎知識的ですので あえて書かないと思ったりします。 1バイトは8ビットであり数値化するとこんな感じです 01001010(2進数)=4A(16進数) 大昔から一つの記憶を数字と英数での2文字で あらわす事が出来るし もうすでにCPUとか作る時の暗黙の了解で 変える事が出来ません。 (逆にこの常識から外れたCPUなどを 製作する事も可能ですが その場合はCPUだけでなく チップセットやRAMなども独自で作り生産しなければ いけないので売れなくなりやすいです) 最初からそうだったからと言うのが 解答だと自分は思っています がしかし、RAM領域はFFFFFFFF(16進数) =4G(10進数)で64ビットフルに使っており 今はどんなパソコンでもメモリーはMAXが4Gで それ以上は積めないボルトネックにも なっているのが現状です。 まあ、コンピューターの中身も大きく変わらないと いけない時代に入りつつあると思われますが マイクロソフトやインテルもつるんでいるので 1バイト=8ビットは変わらないでしょ。
お礼
heyboy さん早速の回答どうもありがとうございます。orz
補足
heyboy さん早速の回答どうもありがとうございます。orz 二進法の方は(何とか)分かるんですが、16、64、128、256 といったメモリの区切り方が「石」の性質に基づいている、というような事を聞いたのですが、どなたか具体的に 『シリコン(だと思う)の分子構造の並びが云々…よって、8の倍数が導入されるようになったんじゃよ。』 みたいな事ご存じありませんか?自分もGoogle検索だいぶしたんですが…手応えなしでトホホ状態です。
- ooxx
- ベストアンサー率25% (130/514)
コンピューターは2進法で計算しています。 昔、十進法の計算機もありましたが正確さを求めて2進法になりました。 ですからメモリーの容量などは2の倍数を基準にしています。 キロというのは物理倍数で1000倍のことですが、メモリーの容量では2の10乗である1024倍としています。メガ、ギガ、テラも同様です。 8ビットを1バイトとしているのは、2の8乗である256種類あれば英文の文字や記号はおおかた表示できるので、1文字=1バイト=8ビットの信号(00000000~11111111)としているためです。 よって英文字を使うことを前提に開発されたため8ビットの信号が基準となったというところでしょうか。
お礼
ooxx さん早速の回答どうもありがとうございます。orz …が、まだ疑問が…下のレスに…
- kirara77
- ベストアンサー率25% (117/464)
初めまして。 コンピュータの基本はデジタルですから、オン・オフで判別する2進数が基本ですよ。その単位をビットと言います。 文字や数字を表現し記憶する単位をバイトと言いますけど、これが8ビットで構成される仕組みとなっています。 よって、これがコンピュータの色々な性能や記憶の単位として用いられているのです。 この考え方は、今時のコンピュータも創生期のコンピュータも基本的なアーキテクチャは変わっていませんので同じですよ。 と言うことは、コンピュータは性能は飛躍的に向上していますけど、内部構造は進化していないってことになりますね。
お礼
kirara77 さん早速の回答どうもありがとうございます。orz
- buriburi3
- ベストアンサー率44% (353/792)
論理モジュールは電圧のON/OFFの伝達で動いています。 ONを1、OFFを0として2進数で考えるとロジックを数学的に表現できます。 0と1の羅列になる2進数は人間にはつらすぎるので2の累乗で表現できて普段使っている10進数に近い8進数(2の3乗)や16進数(2の4乗)を使用します。 4進数でも32進数でも技術的には問題ないですが人間が考えるときに面倒すぎます。
お礼
buriburi3 さん早速の回答どうもありがとうございます。orz
補足
皆さん早速の回答どうもありがとうございます。orz すごい早い… 二進法の方は(何とか)分かるんですが、16、64、128、256 といったメモリの区切り方が「石」の性質に基づいている、というような事を聞いたのですが、どなたか具体的に 『シリコン(だと思う)の分子構造の並びが云々…よって、8の倍数が導入されるようになったんじゃよ。』 みたいな事ご存じありませんか?自分もGoogle検索だいぶしたんですが…手応えなしでトホホ状態です。
お礼
akatombo59 さん回答有り難うございます。orz >集積回路に使っている材料は金属結合です おー、正しくは「金属結合」と言うんですね。なるほど。 >『分子構造』という言葉が出てきた段階で、与太話だと まあ、何せ10年昔にちらっと聞いた話で、しかも自分はどっぷり文系の人間だ(だった)もんで勘弁してやってください(^^;) 『分子構造』という部分は単に「その物質を極限まで拡大して見ると、8を単位にその物質の基礎が構成されている」程度の理解で、本当に分子なのか根拠はありません。もう分子とか原子とかの「なんとか子」レベルになると、どれをどう言われても同じに聞こえるので…。