ビットパターンとは?基本情報技術者試験の計算問題の解説
更新日:2022年1月14日
ビットパターンという言葉は耳慣れない言葉かもしれませんが、コンピュータの仕組みを理解する上では重要なキーワードとなります。基本情報技術者試験を受ける上でも、ビットパターンの考え方は重要です。ビットパターンの計算方法に関する問題は試験でも頻出問題となるため、しっかり押さえておく必要があるでしょう。 この記事では、ビットパターンの概要に加え、ビットパターンの主な計算方法について解説します。
ビットパターンとは
ビットパターンという言葉はいったい何を意味する言葉なのでしょうか。ここではまず、ビットパターンの概要や利用例について解説します。
ビットパターンの概要
そもそもビットとは何でしょうか。コンピュータの世界はすべて0と1で構成されているということを聞いたことがある方も多いかもしれません。この、0と1の組み合わせをビットと呼びます。コンピュータの内部はすべてこの0と1の組み合わせで処理が行われており、どんなに複雑な画像や動画、文字列などもすべてビットの組み合わせから作られています。
ビットパターンとは、このビットを用いて表すことができるパターン数のことです。例えば、3桁の0と1の組み合わせ(=3ビット)であれば、2の3乗である8種類のパターンを表すことができます。具体的には、3ビットによって以下の通りのパターンを表現できます。
パターン | ビットの組み合わせ |
---|---|
パターン1 | 000 |
パターン2 | 001 |
パターン3 | 010 |
パターン4 | 011 |
パターン5 | 100 |
パターン6 | 101 |
パターン7 | 110 |
パターン8 | 111 |
ビットパターンは、用いるビットが増えれば増えるほど指数関数として表現できるパターン数が増えていきます。例えば、10ビットを用いればビットパターンは1024に、32ビットを用いれば4,294,967,296のパターンを表すことが可能です。
よく用いられるビットパターンの例
コンピュータの世界では、ある程度用いられるビットパターンが決まっています。以下では、主に用いられるビットパターンを紹介します。
例1:英数字
英数字は8ビット = 256通りのビットパターンで表します。例えば、「A」という文字は「00101001」(10進数で41)ですし、「9」という数字は「00111101」(10進数で61)で表します。なお、この英数字1文字を扱える8ビットを、「1バイト」と呼び、これら1バイトで英数字を表す方法をアスキーコードと呼びます。
例2:色
色を表す方法には様々な種類がありますが、一般的なのが三原色である赤・緑・青にそれぞれ8ビットずつ、合計24ビットを用いる方法です。24ビットを用いることで、24ビット = 16,777,216通りの色のパターンを表すことができます。例えば、「赤」の色を表す場合は赤・緑・青を「11111111・00000000・00000000」で表しますし、「黄色」であれば赤と緑を混ぜた色である「11111111・11111111・00000000」で表します。
例3:IPアドレス
インターネットにおけるコンピュータの住所情報となるIPアドレスは、32ビット = 4,294,967,296通りのビットパターンで表します。これだけ見ると膨大な数の住所情報を表せそうですが、それでも拡張を続けるインターネットには対応することが難しく、近年ではIPv6と呼ばれる128ビット = 1兆×1兆×1兆というオーダーでパターンを表すことができるIPアドレス体系への移行が進んでいます。
ビットパターンの覚え方
計算問題に対応するためにも、代表的なビットパターンについては覚えておくとよいでしょう。特に、1ビット~10ビットについてはよく利用されるため、各ビットパターン数を覚えておくことをおすすめします。具体的には以下の通りとなります。
ビット数 | パターン数 |
---|---|
1ビット | 2 |
2ビット | 4 |
3ビット | 8 |
4ビット | 16 |
5ビット | 32 |
6ビット | 64 |
7ビット | 128 |
8ビット | 256 |
9ビット | 514 |
10ビット | 1024 |
これらのビットパターンを覚えておくだけで、圧倒的に速いスピードで計算問題を解くことができるようになるので、押さえておくとよいでしょう。
ビットパターンの計算方法
以下では、実際にビットパターンの計算問題として出題される様々な例を取り上げ、ビットパターンの計算方法について解説します。
出題例1:ビット数からビットパターンを求める
最もわかりやすい計算例としては。ビット数からビットパターンを求めるものでしょう。ビット数からビットパターンを求める方法は以下の通りとなります。
例題:12ビットのビットパターン数は?
12ビットは、2の12乗を計算すればよいことになります。上述の通り、代表的なビットパターンを覚えておくと素早く計算することができるでしょう。また、ビットパターンの計算においては、ビットを分割するテクニックが有効です。 まず、12ビットを10ビット×2ビットに分割します。10ビットは1024パターンであり、また2ビットは4パターンですので12ビットは1024×4 = 4096パターンとなります。
答え:4096パターン
出題例2:コードを表すのに必要なビット数を求める
実務においても、英数字など、特定のコードを表すために必要なビット数を計算する必要性が生じるケースがあります。このような場合にも、やはり代表的なビットパターンを覚えておく方法が有効です。
例題:190種類の絵文字を表すために必要となる最小ビット数は?
代表的なビットパターンに、7ビットの128パターンと8ビットの256パターンがあります。190種類の絵文字を表す場合には、7ビットでは足りませんのでその一つ上の8ビットが必要となる最小のビット数となります。
答え:8ビット
出題例3:ホスト数を求める
実務において頻出するのが、IPアドレスなどのホスト数を求めるケースです。以下でその計算方法を紹介します。
例題:80台のPCをネットワークに接続する際に必要となるIPアドレスの最小サブネット(=桁数)は?
これも同様に、6ビットの64パターンと7ビットの128パターンを覚えておけば、80台のPCを設定するために必要なサブネットは7ビットであることが分かります。
答え:7桁のサブネット
出題例4:試行回数を求める
パスワードの強度を計るためには、パスワードの文字種類数と桁数が重要な要素となります。ブルートフォース攻撃などパスワードの強度ごとに必要な試行回数を求める方法は以下の通りとなります。
例題:32ビットで暗号化されている暗号文を解読するために必要な試行回数は?
32ビットで暗号化されている場合、その解読に必要なパターンは2の32乗となります。2の32乗は4,294,967,296通りであるため、鍵を知らない悪意のある人が総当たり方式で解読をしようとしても、最大で4,294,967,296回試さないといけないということになります。
答え:最大で4,294,967,296回
まとめ
この記事では、基本情報技術者試験を受けようとされている方に向けて、ビットパターンに関する内容の解説を行いました。特にコンピュータに慣れていない人にとっては、ビットパターンは取り掛かりにくい分野ではありますが、計算方法を押さえてしまえば確実に得点源として期待することができます。試験対策としてビットパターンの計算方法や代表的なビットパターンを身につけておくことをおすすめします。