最終更新日:2026年8月25日
fe fe-technology computer-system binary
まず結論
種類数から必要な最小ビット数を求める問題では、何種類を区別したいかを数えて、
必要な種類数 <= 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 を選ぶ