• ベストアンサー

二進法と電子機器の関係性について

二進法というものは、日常私達が使う家電製品やコンピュータに対してどのような役割を果たしているのでしょうか 機械がどのようにして動いているのか前々から疑問であり、またプログラムはon.offなどの二進法で成り立っているという風に調べているので やはり機械というのも元を辿ると二進法にたどり着くのでしょうか? 今の私の印象としては、電子機器が仕事をするのはプログラミングによるもので、そしてそのプログラムは二進法で成り立っている という事で間違いはないでしょうか? もし全然違っていたらすみません。 細かい成り立ちなどが知りたいです。よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • KEIS050162
  • ベストアンサー率47% (890/1879)
回答No.1

今で言うコンピュータの多くは、デジタル計算機なので、二進法が元になっている、というよりはデジタル技術が元になっており、デジタルデータを扱うのに二進法で表すのが分かり易い、ということかと思います。 アナログ計算機と違い、デジタル計算機は、0と1の二つの状態で判断するので、例えば紙テープに穴が空いている/空いていない、ランプが付いている/付いていない、電気が流れている/流れていない、ソロバンの玉が上がっている/下がっている、フリップフロップがON/OFFなどの判断が明確でかつ正確に再現できるのが利点です。 ※アナログ計算機の典型例 :計算尺 (数値を量で表す) ※デジタル計算機の典型例 :ソロバン (数値を玉の位置と桁で表す)。歯車式計算機(昔のレジスタ)  ソロバンは単純な二進法ではないですが。 ※電子(デジタル)計算機 : 電卓、コンピューター。(数値を電気的にデジタルで扱う計算機) フリップフロップは、コンピュータのメモリの原理の基本ですので、これを8個並べれば8ビットのデータ、16個並べれば16ビットのデータとなります。 8ビットのデータを表すのに、01000010 (Off、On、Off、Off、Off、Off、On、Off)と二進法を使うと便利なので、デジタル計算機では二進法が便利ということでしょう。 二進法は、3桁ずつまとめて8進法に(上記の例では、102)、4桁ずつまとめて16進法に(上記の例では、42)と表すのも楽なので、32ビットとか64ビットに桁数が増えても、人間が読み書きしやすい16進法にすれば扱い易くなるという利点もあります。 複雑な命令を電子計算機で実行するのに従来は複雑な回路などを組んでいたのですが、コンピュータに対する命令もデータと同じ用に二進法で記述し、記憶装置に置く、というのが現代のコンピュータの基礎かと思います。(フォン・ノイマン式) 以降、データも、命令も二進法で記述するというのが主流となっています。命令群を一まとめにしたものがプログラムということになります。 実際には、2進法で表記するよりも16進法で表記する方が多いですが、もとは先に述べた通り、0100…のBitの羅列です。 プログラムも実際に人間が書くときは、自然言語に近いプログラム言語を使いますが、コンパイルなどを経て、機械語(2進数)に翻訳されてコンピュータに伝えられます。 なので、コンピュータと二進法は密接な関係があるので、コンピュータは二進法で成り立っている、というのもあながち間違いではないかも知れません。 詳しくは、専門書に譲ります。(上記も正確ではないかも知れませんが、電子計算機の機能と構造などを記述した専門書にもっと丁寧に、詳しく、正確に記載しているはずですので、読んでみることをお勧めします。)

その他の回答 (2)

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.3

2進法なくしてコンピュータは動作しません。 コンピュータの最小構成要素であるCMOSトランジスタは、VDD(電源電圧)とGND(0V・接地電圧)の2種類の電圧を入力し、出力します。 計算も伝達もすべて配線を介してどちらかの電圧を使用します。 VDDを1、GNDを0として扱うので、2進法になるのです。 プログラムではなく、ハードウェアの話です。 ハードウェアが2進法を用いるので、そのハードウェアの上で動作するソフトウェア(プログラム)も2進法を用います。 ソフトウェアは2進法では桁が大きくなって不便なので、4桁ごとに区切って16進法を用います。

  • BuriBuri4
  • ベストアンサー率28% (150/525)
回答No.2

自動制御の基本はスイッチです。 電流を流すとスイッチが入るリレーが基本になっています。 日本の初期の計算機は電話交換幾から発展したのでリレーを組み合わせて作られていました。 このスイッチによる制御を考える時、スイッチONとOFFの二つの状態を数字の1と0に置き換えて2進数だと考えると機械の動作を数学的に表現出来て設計や検証が楽に行えます。 *ブール代数という考え方(小学校で習う集合を発展させた考え方)を使います。 現在ではスイッチに機械式のリレーではなく電子式のFETを使いますがスイッチのONとOFFの組み合わせで動いているのは一緒です。 現在のコンピュータプログラムは大変進化して人間に理解しやすい形になっているので2進数を意識するのは直接機械制御を行う場面や原始的なアセンブリ言語を使う場合などに限定されてきています。

関連するQ&A

専門家に質問してみよう