なぜ二進法なのか?
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/02/18 17:58 UTC 版)
「コンピュータの数値表現」の記事における「なぜ二進法なのか?」の解説
コンピュータが使う論理はブール論理であり、これは2値の論理である。したがって二進法の2値とブール論理体系における2状態が直接対応可能である。 3値以上の値を識別するハードウェアは2値のハードウェアよりも複雑になる。 二進法は十進法よりもかなり効率がよい。初期のコンピュータは十進(二進化十進表現)を使っているものも多かった。しかし、電気回路のオンオフをそのまま利用できる二進法のほうが圧倒的に効率が良い。近年では、10ビット(二進法では 0〜1023 の1024通りが表現可能)を使って 0〜999 の1000通りを表現する、効率の良い Densely packed decimal といったものも考案されている。なお、初期のコンピュータ、特にリレー式の場合、入出力機器と比べ本体がたいして速くないため、入出力を十進でおこなうのであれば、二進←→十進の変換はそれなりに計算量が必要なので、むしろそのまま十進で扱ってしまったほうが効率が良いという場合もあった。なお「二進に比べて回路量が増え、信頼性が低くなるためである」といった説明が一般的だが、回路の冗長さを利用してエラーを検出する手法を併用し信頼性を上げているものがある。例えば、最初期のFACOMなどが挙げられる。一方で信頼性が低下する根拠としては、回路の持つインピーダンスによる電圧降下や電源や周辺回路によるノイズなどによって、本来の電圧が予定外の数値を表す電圧に変化してしまうことによる。 他の底を採用しようとした例もある。三進法を使ったコンピュータも、二進法よりも効率がよいのではないかと期待され、実験的に開発されたことがある。一般に数値を記号で表現するとき、三進法が最も効率がよいとされるが、二進法もそれとほぼ同程度の効率である。また、この効率に関する計算は、n状態の表現にはn個の素子が必要という仮定に問題があり、現実的には二進法を1素子の2状態で表現するのが圧倒的に有利である。三進法#経済性の記述も参照。
※この「なぜ二進法なのか?」の解説は、「コンピュータの数値表現」の解説の一部です。
「なぜ二進法なのか?」を含む「コンピュータの数値表現」の記事については、「コンピュータの数値表現」の概要を参照ください。
- なぜ二進法なのか?のページへのリンク