基本情報技術者試験対策(2)「2進数を学ぼう(2)」

スポンサーリンク
IT系

はじめに

前回は、コンピュータの内部でなぜ2進数が使われているのか、そしてビットとバイトという単位について解説した。今回は「ビット数」と「符号化」という切り口から、2進数を学ぶ意義をさらに掘り下げていく。

ビット数が決めるのは「表現できるパターンの数」

ビットは0か1のどちらかしか取らない最小単位だが、ビットを複数並べることで、より多くの種類の情報を区別できるようになる。nビットあれば、表現できるパターンの数は2のn乗通りになる。

  • 1ビット:2通り(0、1)
  • 2ビット:4通り(00、01、10、11)
  • 4ビット:16通り
  • 8ビット:256通り
  • 16ビット:65,536通り

ビット数が1つ増えるごとに、表現できるパターンの数は2倍に膨れ上がっていく。この「ビット数と表現力の関係」を理解しておくことは、コンピュータがどれだけの情報量を扱えるかを見積もる際の基本になる。

符号化とは何か

「符号化(エンコーディング)」とは、文字や色、音といった現実世界の情報を、あらかじめ決められたルールに従って2進数のパターンに対応づけることを指す。コンピュータが扱えるのはあくまで0と1の並びだけなので、私たちが日常的に扱う情報はすべて、何らかの符号化のルールを通してビット列に変換されている。

文字の符号化:文字コード

身近な符号化の例が「文字コード」である。代表的なものにASCIIコードがある。ASCIIコードは7ビット(拡張版では8ビット)を使い、アルファベットや数字、記号などを表現する。7ビットであれば2の7乗、つまり128種類の文字を区別できる計算になる。

しかし、日本語のようにひらがな・カタカナ・漢字を含む文字体系では、128種類ではとても足りない。そこで登場するのがUnicodeのような、より多くのビット数を使って世界中の文字を網羅的に扱える符号化方式である。「どれだけの種類の文字を区別したいか」という要求が、必要なビット数を決める、という関係を押さえておきたい。

色の符号化:RGBカラー

色の表現も符号化の一例である。ディスプレイなどでよく使われるRGBカラーでは、赤(R)・緑(G)・青(B)のそれぞれの明るさを8ビットずつ、合計24ビットで表現する。8ビットは256通りのパターンを表現できるため、赤・緑・青それぞれに256段階の明るさを割り当てられることになり、24ビット全体では約1,677万通りもの色を区別できる。

「フルカラー」と呼ばれる表示方式がこの24ビットに由来している、という点も、ビット数と符号化の関係を理解する上でわかりやすい例である。

ビット数の設計はトレードオフである

符号化の設計では、「どれだけの種類を区別したいか」と「そのためにどれだけのビット数を使うか」という関係が常にトレードオフになる。ビット数を増やせばより多くの種類を区別できるが、その分、データ量やメモリの消費量も増えてしまう。逆にビット数を絞りすぎると、表現しきれない情報が出てきてしまう。

この考え方は、文字コードや色の符号化だけでなく、音声のデジタル化や、後の回で扱う数値の表現方法など、コンピュータサイエンス全般に共通する重要な視点である。

まとめ

  • nビットで表現できるパターンの数は2のn乗通りであり、ビット数が増えるほど表現できる情報の種類が広がる。
  • 符号化とは、文字・色・音などの現実世界の情報を、ルールに従って2進数のパターンに対応づけることである。
  • 文字コード(ASCII、Unicodeなど)や、RGBカラーのような色の表現は、符号化の身近な具体例である。
  • 符号化の設計には、「区別したい種類の多さ」と「使用するビット数」のトレードオフが常につきまとう。

次回は、2進数を学ぶ意義をさらに別の角度から見ていく。16進数・8進数が実務や試験の中でどのような役割を果たしているかを解説する。

コメント

タイトルとURLをコピーしました