最終更新日:2026年8月11日
fe fe-technology algorithm
まず結論
nビットで表せるビットパターンの個数は、2^n通りです。
基本情報技術者試験では、まず次の3つを押さえると判断しやすくなります。
nビット
→ 2^n通り
1ビット増える
→ 2倍
aビットとbビットの比較
→ 2^(a-b)倍
例えば32ビットと24ビットを比較するなら、全部のパターン数を計算する必要はありません。
32 - 24 = 8
↓
2^8 = 256
つまり、32ビットで表せるパターン数は24ビットの256倍です。
直感的な説明
1ビットには、次の2通りがあります。
0
1
2ビットになると、各桁に0または1を置けるので、
00
01
10
11
の4通りになります。
3ビットなら、さらに左に0または1を付けられるため、8通りです。
| ビット数 | パターン数 |
|---|---|
| 1ビット | 2通り |
| 2ビット | 4通り |
| 3ビット | 8通り |
| 4ビット | 16通り |
| 5ビット | 32通り |
ここで大切なのは、1ビット増えるたびにパターン数が2倍になることです。
4ビット → 16通り
5ビット → 32通り
6ビット → 64通り
「ビット数が1増える」と、「0の場合」と「1の場合」の2通りに枝分かれする、と考えると分かりやすくなります。
定義・仕組み
nビットには、それぞれの桁で0または1の2通りを選べます。
例えば3ビットなら、
2通り × 2通り × 2通り
= 2^3
= 8通り
です。
したがって、nビットでは、
2 × 2 × ... × 2
↑ n個
= 2^n
となります。
ビット数が違うときは「差」だけ見る
例えば、16ビットと12ビットを比較するとします。
16ビット → 2^16通り
12ビット → 2^12通り
何倍かを求めると、
2^16 ÷ 2^12
= 2^(16-12)
= 2^4
= 16倍
です。
このため、比較問題では最初に次のように考えます。
何ビット違う?
↓
その差をnとする
↓
2^n倍
大きな指数をそのまま計算する必要はありません。
このテーマは、基本情報技術者試験の基礎理論やデータ表現に関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。
科目Aでどう出る?
科目Aでは、ビット数と表現できるパターン数の関係を使って、個数や倍率を求める問題があります。
個数を求める問題
例えば8ビットで表せるパターン数なら、
2^8 = 256通り
です。
何倍かを求める問題
例えば20ビットと16ビットを比べるなら、
20 - 16 = 4
↓
2^4 = 16倍
です。
試験中は、次の順番で確認すると計算を小さくできます。
- 「何通り」なのか「何倍」なのかを確認する
- 何通りなら
2^nを使う - 何倍ならビット数の差を求める
2^(差)を計算する
特に比較問題では、2^32 のような大きな数を先に計算しないことがポイントです。
どんな場面で使う?
ビット数とパターン数の関係は、コンピュータのさまざまな場面に出てきます。
例えば、
- nビットで何種類の値を区別できるか
- 色を何種類表現できるか
- アドレスを何通り表せるか
- フラグの組合せが何通りあるか
などを考えるときに使います。
ただし、表せる「パターン数」と、符号付き整数で表せる「最大値」は別です。
例えば8ビットならパターンそのものは256通りありますが、符号付き整数として使う場合は、その256通りを正負の値に割り当てます。
試験では、問題が「パターン数」を聞いているのか、「数値の範囲」を聞いているのかを区別してください。
よくある誤解・混同
誤解1:32ビットは24ビットの32÷24倍
ビット数とパターン数は比例関係ではありません。
1ビット増える
→ 2倍
なので、比較するときは割り算ではなく、ビット数の差を指数にすると考えます。
32ビットと24ビット
↓
差は8ビット
↓
2^8 = 256倍
誤解2:ビット数が2倍ならパターン数も2倍
例えば4ビットは16通りですが、8ビットは256通りです。
4ビット → 2^4 = 16
8ビット → 2^8 = 256
ビット数は2倍でも、パターン数は16倍になります。
誤解3:何倍かを求めるときも両方の値を全部計算する
計算しても答えは出ますが、FE試験ではミスが増えやすくなります。
2^32 ÷ 2^24
を見たら、すぐに
2^(32-24)
へ変える方が効率的です。
誤解4:2^nは必ず最大値を表す
2^n が表すのは、まずnビットで作れるパターンの個数です。
符号なし整数なら0から始まるため、最大値は、
2^n - 1
になります。
例えば8ビットなら、
パターン数 → 256通り
最大値 → 255
です。
まとめ(試験直前用)
- nビットで表せるパターン数は 2^n通り
- 1ビット増えるたびに、パターン数は 2倍になる
- aビットとbビットの倍率は、2^(a-b) で考える
- 比較問題では、大きな指数を計算せず ビット数の差を先に見る
- 「パターン数」と「表せる最大値」は別なので、問題文が何を聞いているか確認する