人間は普段、0から9までの10個の数字を使う「10進法」の世界で生きています。9の次に数字が1つ増えると、桁が繰り上がって「10」になります。
しかし、前述の通り、電気の「オン(1)」と「オフ(0)」しか扱えないコンピューターは、0と1だけで数を表現する「2進法」の世界で計算を行います。2進法では、「1」の次に数字が1つ増えると、それだけで桁が繰り上がって「10(人間の世界でいう『2』)」になります。
例えば、人間の世界の「5」という数字を2進法で表すと「101」になります。桁ごとに「4の位」「2の位」「1の位」という意味を持っており、
4 x 1 + 2 x 0 + 1 x 1 = 5
という計算によって、コンピューターは「5」を認識しているのです。
論理回路という名の「計算の仕掛け」
では、この0と1を使って、コンピューターはどうやって足し算や引き算などの「計算」を行っているのでしょうか。
その鍵を握るのが、トランジスタを組み合わせで作られた「論理回路(ゲート)」と呼ばれる電子回路です。論理回路は、入力された0と1の信号に対して、あらかじめ決められたシンプルなルールに従って、新しい0や1の信号を出力します。
代表的なルールには、次のようなものがあります。
- AND(論理積):2つの入力が「両方とも1」のときだけ「1」を出す。
- OR(論理和):2つの入力の「どちらか片方でも1」なら「1」を出す。
- NOT(論理否定):入力された信号をひっくり返す(1なら0、0なら1を出す)。
「たったそれだけ?」と思うかもしれませんが、このシンプルな回路をパズルのように組み合わせることで、驚くべきことに2進法の「足し算」ができる回路(加算器)を作ることができます。
例えば、1桁の足し算を考えてみましょう。「1 + 1」の答えは2進法で「10」です。このとき、論理回路の組み合わせによって、「1万の位(繰り上がり)には1を出力し、1の位には0を出力する」という電気の流れを自動的に作り出すことができるのです。
この足し算の回路をさらに何重にも組み合わせることで、引き算、掛け算、割り算、そして複雑な方程式の処理まで、あらゆる計算が実行可能になります。
数字が「文字」や「画像」に化けるまで
「計算ができるのは分かったけれど、それがなぜ画面に文字や画像として映し出されるのか」
ここに、コンピューターのもう一つのマジックがあります。コンピューターにとっては、文字も画像も、すべては「数字の羅列(データ)」に置き換えられた計算対象にすぎないのです。
① 文字に化ける仕組み
コンピューターの世界には、「この数字の並びが来たら、この文字を表示する」という世界共通の約束事(文字コード)があります。
例えば、「01000001」という8桁の2進数(10進法では65)が送られてきたら、コンピューターは「これはアルファベットの『A』のことだな」と解釈し、画面に「A」の形をしたドット(点)を描画します。人間がキーボードで「A」を押す行為は、裏側では「01000001」という数値を計算機に送り出す行為そのものなのです。
② 画像に化ける仕組み
スマートフォンの画面を限界まで拡大すると、色のついた極小の四角い「点(ピクセル)」がびっしりと敷き詰められているのが分かります。画像の正体は、この点の集まりです。
コンピューターは、1つの点に対して「赤の強さは10110000、緑の強さは……」というように、光の三原色(赤・緑・青)の濃淡をすべて2進数の数字として記憶しています。
写真を表示するとき、コンピューターは膨大な数の点に対して「どの位置に、何色の光を、どれだけの強さで灯すか」を、論理回路を使って猛烈なスピードで割り出し、画面を塗り替えています。
私たちが目にする豊かなテキストも、美しいデジタル写真も、元を正せばすべては論理回路がパチパチと弾き出した「0と1の計算結果」が形を変えたものなのです。そしてこの「あらゆる現象を数字に置き換えて処理する」という仕組みこそが、のちにAIが言葉や画像を自在に操るための絶対的な土台となります。