- ベストアンサー
コンピューターで2進法が採用されている理由を教えてください
2進法がコンピューターで使われているのはなぜですか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
初期の真空管で造った電子計算機では、二進法ではなく、十進法などを使っていたものでがありました。しかし、二進法が非常に有利で便利なので、二進法を使うようになったのです。 理由: 1)信号が、1と0だけでよい。十進法だと、信号が十個必要で、どの数かを判断する回路が必要になる。しかし、二進法だと、信号があるか、ないかの区別だけで非常に簡単である。 2)これはコンピュータの心臓のCPUの設計に関係することですが、基本的には、CPUはレジスターという一種の計算機・勘定装置を使っています。これはたいへん原理は簡単なもので、簡単な計算を行います。このレジスターで、二進法を使うと非常に簡単に足し算とかができるし、また引き算、かけ算なども、少し工夫すると計算できるのです。 例えば、111は二進法表現で7ですが、これにまた7を足し算するのは、 111+111で、1+1=0(繰り上がり1) 1+0=1 0+1=1 0+0=0 という四つの計算規則だけでどんな数字でも、桁上がりだけ工夫すると計算できるのです。また引き算やかけ算も簡単に行えます。 3)あるいは、フリップ・フロップ回路という面白く単純で、しかし重要な計算回路があるのですが、これは二進法での回路なのです。 4)コンピュータは大きな記憶装置を使うのです。この記憶装置は、あるかないか、つまり、1か0で記録すると、非常に簡単なのです。記録も速いし、読みとりも速いのです。 こう言った理由で、二進法つまり1と0の信号で、コンピュータのなかでは計算や記録や記憶を処理しているのです。これを、5進法だとか、10進法にすると、たいへん複雑になるのです。 人間はしかし二進法ではどんな数がすぐ分かりませんから、入力する時は十進法で、途中で二進法に変え、また、出力する時も、二進法だったのを、人間に分かるように十進法にしているのです。
その他の回答 (4)
- chukanshi
- ベストアンサー率43% (186/425)
みなさんお書きになっている通り、電気のonとoffで0と1を表現できるからです。では実際にどうやって表現しているかしているかというと現在では次の2通りが代表的です。 1)フリップ・フロップ:電流が流れているか流れていないかで1か0を表現します。これで実現されているメモリ(記憶素子)をSRAM(Static Random Access Memory)と呼びます。 2)コンデンサ:電気がコンデンサに充電されているかいないかで1か0かを表現します。このメモリをDRAM(Dynamic RAM)と呼びます。 以上が、コンピュータが「演算」している途中で使っている記憶装置です。 電源を切ると記憶がなくなります。 電源を切っても記憶がなくならないように、ハードディスクに記憶しておきますが、このときは、磁気ディスクの各部分が磁化されているかいないかで、1と0を区別します。 いずれにしても、電磁気的にonとoffで表現できるため、2進法が便利です。
- nuubou
- ベストアンサー率18% (28/153)
cpuがcmosのトランジスタからできていてトランジスタはonとoffを表現するものだからです それに2^n進法は効率がいいからです 10進の数値の一桁は4ビットで表現すると0から15まで表現できるのに0から9までしか使わないことになり無駄ができる 6/16損するのだからもったいないでしょう
- skyusagi
- ベストアンサー率21% (7/33)
コンピューターってやつは電気回路でできていますよね・・それが大問題でして、ほんとは最初10進法でやろうと思ったかどうかは知りませんが、10進法でやることにします。するとたとえば電圧を基準にして0ボルトは数字の0、1ボルトは数字の1、2ボルトは数字の2って具合で9ボルトを数字の9を表すようにするとしますね。そうするとコンピュータの電子回路は、今、何ボルトが入力されているから、というのを10段階に分析しながら動かないといけないわけです。すべてのの接続部分でそんな10段階の判断をする電子回路を作ってたら・・あー・キガクルイソウダ・・とおもったかどうかはしりません。多分、そんなことは思わず、天才が突然現れて、ある一定の電圧以上なら1、その電圧以下なら0とすることにしたんです。するとすべての電気の接続部分はある電圧以上か以下かを判定するだけでオッケーですね。これなら簡単に電気回路が設計できるということで、そうなったんだと思います。 でもねー・・われわれ10本の指を使う世界の出来事をすべて2進数で表すことができるんでしょうかねえ。という疑問にがあったんですが、数学を得意とする人たちが、ブール代数やその他の代数で10進数と2進数に違いが無い、むしろ2進数の方が優れていることを発見したんですね。たとえばANDやORの演算は2進数が得意とする演算で、これがとっても有効なんです。それもあって、以上2つの理由でコンピュータでは2進数を使うことに多数決できめたんです(ウソ)。
- sesame
- ベストアンサー率49% (1127/2292)
電気信号のオンとオフでそのまま0と1を表現することができるからです。