【ITニュース解説】Binary: The Language That Runs the World (and Your Wi-Fi)
2025年10月05日に「Dev.to」が公開したITニュース「Binary: The Language That Runs the World (and Your Wi-Fi)」について初心者にもわかりやすく解説しています。
ITニュース概要
コンピュータは0と1だけで構成される「バイナリ」言語で動作する。これはWi-FiからIPアドレス設定まで、全てのデジタル情報の根幹をなす。0はOFF、1はONを表し、このシンプルな2つの状態の組み合わせで、複雑なITシステムが機能する。
ITニュース解説
コンピュータがどのような言葉で動いているのか疑問に思ったことはないだろうか。プログラミング言語のPythonやJavaではなく、もっと根本的な言葉、それが二進法である。皆さんが普段見ているNetflixの番組から、Wi-Fiルーターの点滅するランプまで、あらゆる情報はたった二つの記号、0と1に還元されている。
なぜコンピュータは二進法を使うのだろうか。その理由は、コンピュータが情報を処理する方法そのものにある。コンピュータの内部では、電気信号の有無や、電流のONとOFFによって情報が表現されている。0は電気がOFFの状態、1は電気がONの状態を意味する。このたった二つの状態を組み合わせることで、複雑な情報を表現し、計算や通信を行っているのだ。皆さんがウェブサイトをクリックしたり、スマートフォンをタップしたり、ネットワーク経由でデータを送受信したりする際、その裏側では常に0と1の長い文字列がやり取りされている。IPアドレスやサブネットマスク、アクセス制御リストといったネットワークの設定も、すべてが二進法で動いている。
この二進法がどれだけの情報を表現できるのかを見てみよう。もし二つの二進数の桁(ビットと呼ぶ)があるとする。例えば「X X」のように二つの箱があるイメージだ。この二つの箱に0か1のどちらかを入れると、次の四つの組み合わせができる。0 0、0 1、1 0、1 1。つまり、四つの異なる状態を表現できることになる。表現できる状態の数は「2のn乗」という簡単な法則で決まる。ここでnはビットの数を指す。例えば、3ビットあれば2の3乗で8通りの状態を表現でき、4ビットあれば2の4乗で16通りの状態を表現できる。ビット数が増えれば増えるほど、表現できる情報の種類は指数関数的に増えていく。
日常生活でよく目にするIPアドレスを例に、二進法がどのように使われているか具体的に見てみよう。IPアドレスは「192.168.1.72」のようにドットで区切られた四つの数字の組み合わせで表現されることが多い。この各数字のブロックを「オクテット」と呼ぶが、これは「八つの」という意味を持つ。その名の通り、各オクテットは8ビットで構成されている。この8ビットを使って、それぞれの位置が2のべき乗(2⁰、2¹、2²、...、2⁷)に対応することで、特定の数値を表現する。一番右のビットは2の0乗、つまり1を表し、左へ一つ進むごとに2の1乗(2)、2の2乗(4)、2の3乗(8)と続き、一番左のビットは2の7乗(128)を表す。もしこの8ビットすべてが1、つまり「1 1 1 1 1 1 1 1」だった場合、これは128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 を合計した値、すなわち255になる。これがIPアドレスの各オクテットが0から255までの範囲の数字である理由だ。
十進数を二進数に変換する方法も紹介しよう。これは「2で割り続けて余りを記録し、最後に下から読み上げる」という簡単な方法で行う。例えば、十進数の192を二進数に変換する手順を見てみよう。 まず192を2で割る。商は96、余りは0。 次に96を2で割る。商は48、余りは0。 次に48を2で割る。商は24、余りは0。 次に24を2で割る。商は12、余りは0。 次に12を2で割る。商は6、余りは0。 次に6を2で割る。商は3、余りは0。 次に3を2で割る。商は1、余りは1。 最後に商の1が残る。 これらの余りを下から上に読んでいくと、「11000000」となり、これが192の二進数表現である。
この方法を使って、先ほどのIPアドレス「192.168.1.72」を二進数に変換してみよう。 192は「11000000」になる。 168は同様に計算すると「10101000」になる。 1は「00000001」になる。 72は「01001000」になる。 したがって、IPアドレス「192.168.1.72」の完全な二進数表現は「11000000.10101000.00000001.01001000」となる。このようにすべて二進数で表現することで、コンピュータがネットワーク上でこのアドレスをどのように認識しているのかを具体的に理解できる。
逆に、二進数から十進数へ変換する方法も見てみよう。これは各ビットの値と、それが表す2のべき乗の数を掛け合わせ、それらをすべて足し合わせることで行う。例えば、「00001010」という二進数があったとする。右から順に、2の0乗(1)、2の1乗(2)、2の2乗(4)、2の3乗(8)...と対応させていく。この二進数の場合、右から2番目のビット(2の1乗の位置)が1、右から4番目のビット(2の3乗の位置)が1である。それ以外は0なので無視できる。よって、(1 × 2¹) + (1 × 2³) = 2 + 8 = 10となる。「10000001」という二進数の場合、一番右のビット(2の0乗の位置)が1、一番左のビット(2の7乗の位置)が1である。よって、(1 × 2⁰) + (1 × 2⁷) = 1 + 128 = 129となる。
二進法は一見すると難解な数字の羅列に見えるかもしれないが、これはすべてのデジタル技術の根幹をなす非常にシンプルな言語である。皆さんが送信するすべてのデータパケット、転送するすべてのバイト、設定するすべてのIPアドレスは、その裏側で二進法によって処理されている。システムエンジニアを目指す上では、このようなコンピュータの最も基本的な仕組みを理解することが極めて重要である。次にIPアドレスを入力したり、イーサネットケーブルを接続したりするとき、皆さんは世界で最も単純でありながら、最も強力な言語である二進法を使って、コンピュータと会話していることを思い出してみてほしい。デジタル世界を動かすこの基礎知識を身につけることで、皆さんはより深くIT技術を理解し、様々な問題を解決する力を養うことができるだろう。