ホームページ » の仕方 » バイナリとは何ですか、そしてなぜコンピュータはそれを使用するのですか?

    バイナリとは何ですか、そしてなぜコンピュータはそれを使用するのですか?

    コンピュータは人間の言葉や数字を理解していません。最新のソフトウェアでは、エンドユーザーはこれを無視できますが、コンピューターの最低レベルでは、すべてが2つの状態(オンまたはオフ)のいずれかで登録されるバイナリの電気信号によって表されます。複雑なデータを理解するためには、あなたのコンピュータはそれをバイナリでエンコードしなければなりません。.

    2進数は基数2の数体系です。基数2は、コンピューターが理解できるオンとオフの状態に対応する2つの数字(1と0)しかないことを意味します。おそらく10進法の10進法に慣れているでしょう。 10進数は0から9までの範囲の10桁を使用してから折り返して2桁の数字を形成します。各桁の数字は最後の10倍(1、10、100など)です。 2進数は似ており、各数字は最後の2倍の価値があります。.

    バイナリで数える

    2進数では、最初の桁は10進数で1になります。 2桁目は2、3桁目は4、4桁目は8に相当し、毎回2倍になります。これらすべてを足し合わせると、10進数で数がわかります。そう,

    1111(2進数)= 8 + 4 + 2 + 1 = 15(10進数)

    0を考慮すると、これは4つのバイナリビットに対して16の可能な値を与えます。 8ビットに移動すれば、256の可能な値があります。 10進数の4桁で10,000個の可能な値が得られるため、これは表現するのにより多くのスペースを取ります。見苦しいものにするためにカウントシステムを作り直すという、このようなトラブルをすべて経験しているように思われるかもしれませんが、コンピュータでは10進数よりも2進数の方がはるかによく理解できます。確かに、バイナリはより多くのスペースを取りますが、私たちはハードウェアによって抑制されています。そして、論理処理のように、二進数は十進数より優れているものもあります。.

    プログラミングでも使用されているもう1つの基本システムがあります。16進数です。コンピュータは16進数では動作しませんが、プログラマはコードを書くときにバイナリアドレスを人間が読める形式で表現するためにそれを使用します。これは、2桁の16進数で1バイト全体、2桁で8桁を表すことができるためです。 16進数では、10進数のように0から9までを使用し、追加の6桁を表すためにAからFまでの文字も使用します。.

    ではなぜコンピュータはバイナリを使うのですか?

    簡単な答え:ハードウェアと物理法則あなたのコンピュータのすべての数字は電気信号です、そして、計算の初期の頃には、電気信号は非常に正確に測定して制御することがはるかに困難でした。負電荷によって表される「オン」状態と、正電荷によって表される「オフ」状態との間を区別するだけの方がより理にかなっている。なぜ「オフ」が正電荷で表されるのかわからない人のために、それは電子が負の電荷を持つためです - 負の電荷を持つより多くの電子はより多くの電流を意味します.

    それで、初期の部屋サイズのコンピュータはそれらのシステムを構築するためにバイナリを使っていました、そして彼らがはるかに古い、より大きなハードウェアを使ったとしても、私たちは同じ基本原則を守ってきました。現代のコンピュータはトランジスタとして知られているものを使ってバイナリで計算を実行します。電界効果トランジスタ(FET)がどのように見えるかを示す図です。

    基本的に、ゲートに電流がある場合にのみ、ソースからドレインへの電流の流れを許可します。これはバイナリスイッチを形成します。製造業者は、これらのトランジスタを5ナノメートル、つまりDNAの2本鎖程度のサイズまで、驚くほど小型に製造することができます。これは現代のCPUがどのように動作するかであり、オンとオフの状態を区別する問題でさえ苦しむことができます(それは主にそれらの非現実的な分子サイズによるもので、量子力学の奇妙さに左右される).

    しかしなぜベース2のみ?

    だから、あなたは考えているかもしれません。コンピュータをどのように構築するかについては、伝統にかかっていますが、数字をもう1つ追加するということは、「オフ」と「オン」だけでなく、異なるレベルの電流を区別する必要があるということです。しかし、「少し」と「たくさん」のようにも述べます。

    ここでの問題は、複数レベルの電圧を使用したい場合、それらを使用して簡単に計算を実行する方法が必要であり、そのためのハードウェアはバイナリコンピューティングの代わりとしては実行可能ではありません。それは確かに存在します。これは3値コンピュータと呼ばれ、1950年代から使われてきましたが、開発が止まったところです。 2値論理よりも3値論理のほうが効率的ですが、今のところ、2進トランジスタを効果的に置き換えるものは誰もいません。少なくとも、2進数と同じ規模で開発するという作業は行われていません。.

    3値論理を使用できない理由は、トランジスタがコンピュータ内でスタックされる方法、つまり「ゲート」と呼ばれるものに由来します。-そしてそれらが数学を実行するためにどのように使われてきたかゲートは2つの入力を取り、それらに対して演算を実行し、1つの出力を返します.

    これは私達に長い答えをもたらします:バイナリ数学は他の何よりもコンピューターにとってずっと簡単です。ブール論理は、TrueとFalseをonとoffで表すことで、バイナリシステムに簡単にマッピングできます。コンピュータのゲートはブール論理で動作します。2つの入力を受け取り、AND、OR、XORなどの演算を実行します。 2つの入力は管理が簡単です。考えられる入力ごとに答えをグラフ化すると、真理値表として知られるものが得られます。

    ブール論理で動作するバイナリ真理値表は、各基本演算に対して4つの可能な出力を持ちます。しかし、3値ゲートは3つの入力を受け取るので、3値真理値表は9以上を持つことになります。二項システムには16の可能な演算子(2 ^ 2 ^ 2)がありますが、三項システムには19,683(3 ^ 3 ^ 3)があります。 3進数はより効率的ですが、指数関数的により複雑になるため、スケーリングは問題になります.

    知るか?将来的には、バイナリの限界を分子レベルにまで押し下げるにつれて、3値のコンピュータがものになるのを見始めることができるでしょう。しかし今のところ、世界はバイナリで実行され続けるでしょう.

    画像クレジット:spainter_vfx /シャッターストック、ウィキペディア、ウィキペディア、ウィキペディア、ウィキペディア