2進数とは

2進数(にしんすう)とは、すべての数値を「0」と「1」の2つの数字だけで表現する数値の表し方です。私たちが日常生活で使っている「10進数」は、0から9までの10個の数字を使い、9の次に桁が上がって10になります。これに対して2進数では、1の次に桁が上がり、10(いちぜろ)、11(いちいち)、そして次は100(いちぜろぜろ)と増えていきます。コンピュータの内部回路は、電気の「ON(電圧が高い状態)」と「OFF(電圧がない、または低い状態)」という2つの状態を切り替えて動いています。そのため、ONを「1」、OFFを「0」に対応させることができる2進数は、コンピュータにとって最も都合が良く、処理しやすい仕組みなのです。
具体例
例えば、私たちが普段使う10進数の「6」という数を2進数で表すと、次のようになります。
10進数の「6」 = 2進数の「110」
2進数の桁は、右から順に「1の位(2の0乗)」「2の位(2の1乗)」「4の位(2の2乗)」を表します。「110」は「4の位が1、2の位が1、1の位が0」という意味なので、すべて足すと「4 + 2 + 0 = 6」となり、10進数の6と一致します。
もう少し詳しく
コンピュータがなぜ10進数ではなく2進数を採用しているのかについて、技術的な背景を少し掘り下げてみましょう。初期の計算機では10進数をそのまま扱う部品も研究されていましたが、1つの部品で10段階の電圧(0Vから9Vなど)を正確に識別することは、ノイズや部品の劣化によって誤動作を引き起こしやすいという大きな課題がありました。これに対して、2進数であれば「電気が流れているか(ON)」、「流れていないか(OFF)」という極めて単純で明確な2つの状態だけを識別できればよいため、回路の設計が圧倒的にシンプルになり、かつ計算の精度や安定性が飛躍的に向上します。この仕組みを実現しているのが「トランジスタ」と呼ばれる半導体素子であり、現代のCPUの中にはこのトランジスタが数十億個以上も詰め込まれており、超高速で0と1の切り替えを行っています。
また、2進数の1桁(0か1)の情報を表す最小単位を「ビット (bit)」と呼びます。単独の1ビットでは「0」か「1」の2通りしか表現できませんが、これを8桁集めた「バイト (byte)」という単位にすると、2の8乗である256通りの情報を表現できるようになります。文字コードや画像データ、音声データなど、コンピュータが扱うあらゆる情報は、最終的にこの0と1の果てしない羅列に変換されて処理、保存、通信されています。そのため、2進数の考え方を理解することは、コンピュータの根本的な動作原理を理解することと同義であると言えます。
試験でのポイント
基本情報技術者試験などのIT系資格試験において、2進数は最も頻繁に出題される基礎テーマの1つです。特に重要なのは、2進数から10進数への変換、およびその逆の変換(基数変換)を素早く正確に行える計算力です。「1, 2, 4, 8, 16, 32, 64, 128...」という2の累乗の数を暗記しておくと、変換のスピードが格段に上がります。
さらに、少数(小数点以下)を2進数で表現する方法も頻出です。10進数の「0.5」は2進数の「0.1(2のマイナス1乗)」、「0.25」は「0.01(2のマイナス2乗)」となります。また、シフト演算と呼ばれる、2進数のビット列を左右にずらす操作についての問題もよく出題されます。左に1ビットずらすと値は2倍になり、右に1ビットずらすと値は2分の1になる(論理シフトの場合)という性質は、掛け算や割り算を高速に行う手法として必ず押さえておきましょう。計算ミスを防ぐためにも、桁の位置(重み)を丁寧に確認しながら解答することが大切です。
関連する用語
2進数をさらに人間にとって読みやすく短く表現するための16進数や、異なる進数同士の表現を変換する基数変換、2進数を使って負の数を表現するための補数などと併せて学習することで、数値表現全体の理解がより深まります。