Skip to the content.

最終更新日:2026年8月25日

まず結論

種類数から必要な最小ビット数を求める問題では、何種類を区別したいかを数えて、

必要な種類数 <= 2^n

となる最小の n を探します。

たとえば36種類を区別したいなら、

2^5 = 32  → 足りない
2^6 = 64  → 足りる

なので、必要な最小ビット数は 6ビット です。

直感的な説明

1ビットは、

0
1

の2通りを表せます。

2ビットなら、

00
01
10
11

の4通りです。

つまり、ビット数が1増えるごとに、表せる種類数は2倍になります。

1ビット → 2種類
2ビット → 4種類
3ビット → 8種類
4ビット → 16種類
5ビット → 32種類
6ビット → 64種類
7ビット → 128種類

試験では、この対応を使って必要な最小ビット数を判断します。

定義・仕組み

n ビットで表せるパターン数は、

2^n

です。

したがって、必要な種類数を N とすると、

N <= 2^n

を満たす最小の n を求めればよいことになります。

たとえば100種類なら、

2^6 = 64   → 足りない
2^7 = 128  → 足りる

なので、7ビット必要です。

ここで重要なのは、種類数そのものをビット数と勘違いしないことです。

36種類だから36ビット

ではありません。

ビット数は、2進数で何通りの組合せを作れるかで決まります。

科目Aでどう出る?

科目Aでは、次のような聞かれ方がよくあります。

  • 何種類の状態を表すのに最低何ビット必要か
  • 何個の記号を一意にコード化するのに最低何ビット必要か
  • 何通りのパターンを区別するのに必要なビット数はいくつか

判断手順はいつも同じです。

1. 必要な種類数を数える
2. 2^n と比較する
3. 初めて種類数以上になる n を選ぶ

例:英大文字と数字

英大文字は26種類、数字は10種類です。

26 + 10 = 36種類

必要な種類数は36なので、

2^5 = 32  → 足りない
2^6 = 64  → 足りる

となり、6ビットです。

どんな場面で使う?

この考え方は、文字コード以外にも使われます。

  • 状態を表すビット数
  • IDやコード番号
  • フラグの組合せ
  • アドレス指定
  • センサの量子化段階
  • ビットパターンの種類数

たとえば、機械の状態を8種類に分けるなら、

2^3 = 8

なので3ビットで表せます。

9種類必要なら、3ビットでは足りないため4ビット必要です。

2^3 = 8   → 足りない
2^4 = 16  → 足りる

よくある誤解・混同

文字コードの問題ならASCIIは7ビット

必ずしもそうではありません。

問題文がASCIIを指定しているなら7ビットという知識が使えますが、単に「何種類を一意にコード化するか」を聞いているだけなら、必要種類数から計算します。

ASCIIを使う
→ ASCIIの仕様を見る

独自に何種類を区別するか
→ 2^n で必要ビット数を求める

32種類なら6ビット必要

誤りです。

2^5 = 32

なので、32種類ちょうどなら5ビットで足ります。

33種類も5ビットで足りる

誤りです。

5ビットは32種類までなので、33種類なら6ビット必要です。

32種類まで → 5ビット
33〜64種類 → 6ビット
65〜128種類 → 7ビット

まとめ(試験直前用)

  • n ビットで表せる種類数は 2^n
  • 必要な種類数以上になる最小の n を探す
  • 32種類なら5ビット
  • 33種類なら6ビット
  • 64種類なら6ビット
  • 65種類なら7ビット
  • 文字コードの知識を使うか、種類数から計算するかを問題文で切り分ける

試験中は、まず次の形にします。

何種類必要?
↓
2^n と比べる
↓
最小の n を選ぶ

© 2024-2026 stemtazoo. All rights reserved.