---
title: "nビットで表せるパターン数とは？2のn乗とビット数の差から倍率を求める【基本情報技術者試験】"
description: "nビットで表せるパターン数を「2のn乗通り」として整理し、1ビット増えると2倍になる理由、32ビットと24ビットのような比較で2の差分乗を使って倍率を求める考え方をFE試験向けに解説します。"
last_modified_at: "2026-08-11"
canonical_url: "https://stemtazoo.github.io/fe/bit-pattern-count/"
section: "fe"
---

## まず結論

nビットで表せるビットパターンの個数は、**2^n通り**です。

基本情報技術者試験では、まず次の3つを押さえると判断しやすくなります。

```text
nビット
→ 2^n通り

1ビット増える
→ 2倍

aビットとbビットの比較
→ 2^(a-b)倍
```

例えば32ビットと24ビットを比較するなら、全部のパターン数を計算する必要はありません。

```text
32 - 24 = 8
↓
2^8 = 256
```

つまり、32ビットで表せるパターン数は24ビットの**256倍**です。

## 直感的な説明

1ビットには、次の2通りがあります。

```text
0
1
```

2ビットになると、各桁に0または1を置けるので、

```text
00
01
10
11
```

の4通りになります。

3ビットなら、さらに左に0または1を付けられるため、8通りです。

| ビット数 | パターン数 |
|---:|---:|
| 1ビット | 2通り |
| 2ビット | 4通り |
| 3ビット | 8通り |
| 4ビット | 16通り |
| 5ビット | 32通り |

ここで大切なのは、**1ビット増えるたびにパターン数が2倍になる**ことです。

```text
4ビット → 16通り
5ビット → 32通り
6ビット → 64通り
```

「ビット数が1増える」と、「0の場合」と「1の場合」の2通りに枝分かれする、と考えると分かりやすくなります。

## 定義・仕組み

nビットには、それぞれの桁で0または1の2通りを選べます。

例えば3ビットなら、

```text
2通り × 2通り × 2通り
= 2^3
= 8通り
```

です。

したがって、nビットでは、

```text
2 × 2 × ... × 2
        ↑ n個
= 2^n
```

となります。

### ビット数が違うときは「差」だけ見る

例えば、16ビットと12ビットを比較するとします。

```text
16ビット → 2^16通り
12ビット → 2^12通り
```

何倍かを求めると、

```text
2^16 ÷ 2^12
= 2^(16-12)
= 2^4
= 16倍
```

です。

このため、比較問題では最初に次のように考えます。

```text
何ビット違う？
↓
その差をnとする
↓
2^n倍
```

大きな指数をそのまま計算する必要はありません。

このテーマは、基本情報技術者試験の基礎理論やデータ表現に関係する内容です。公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html) から確認できます。

## 科目Aでどう出る？

科目Aでは、ビット数と表現できるパターン数の関係を使って、個数や倍率を求める問題があります。

### 個数を求める問題

例えば8ビットで表せるパターン数なら、

```text
2^8 = 256通り
```

です。

### 何倍かを求める問題

例えば20ビットと16ビットを比べるなら、

```text
20 - 16 = 4
↓
2^4 = 16倍
```

です。

試験中は、次の順番で確認すると計算を小さくできます。

1. 「何通り」なのか「何倍」なのかを確認する
2. 何通りなら `2^n` を使う
3. 何倍ならビット数の差を求める
4. `2^(差)` を計算する

特に比較問題では、`2^32` のような大きな数を先に計算しないことがポイントです。

## どんな場面で使う？

ビット数とパターン数の関係は、コンピュータのさまざまな場面に出てきます。

例えば、

- nビットで何種類の値を区別できるか
- 色を何種類表現できるか
- アドレスを何通り表せるか
- フラグの組合せが何通りあるか

などを考えるときに使います。

ただし、**表せる「パターン数」と、符号付き整数で表せる「最大値」は別**です。

例えば8ビットならパターンそのものは256通りありますが、符号付き整数として使う場合は、その256通りを正負の値に割り当てます。

試験では、問題が「パターン数」を聞いているのか、「数値の範囲」を聞いているのかを区別してください。

## よくある誤解・混同

### 誤解1：32ビットは24ビットの32÷24倍

ビット数とパターン数は比例関係ではありません。

```text
1ビット増える
→ 2倍
```

なので、比較するときは割り算ではなく、**ビット数の差を指数にする**と考えます。

```text
32ビットと24ビット
↓
差は8ビット
↓
2^8 = 256倍
```

### 誤解2：ビット数が2倍ならパターン数も2倍

例えば4ビットは16通りですが、8ビットは256通りです。

```text
4ビット → 2^4 = 16
8ビット → 2^8 = 256
```

ビット数は2倍でも、パターン数は16倍になります。

### 誤解3：何倍かを求めるときも両方の値を全部計算する

計算しても答えは出ますが、FE試験ではミスが増えやすくなります。

```text
2^32 ÷ 2^24
```

を見たら、すぐに

```text
2^(32-24)
```

へ変える方が効率的です。

### 誤解4：2^nは必ず最大値を表す

`2^n` が表すのは、まず**nビットで作れるパターンの個数**です。

符号なし整数なら0から始まるため、最大値は、

```text
2^n - 1
```

になります。

例えば8ビットなら、

```text
パターン数 → 256通り
最大値      → 255
```

です。

## まとめ（試験直前用）

- nビットで表せるパターン数は **2^n通り**
- 1ビット増えるたびに、パターン数は **2倍**になる
- aビットとbビットの倍率は、**2^(a-b)** で考える
- 比較問題では、大きな指数を計算せず **ビット数の差**を先に見る
- 「パターン数」と「表せる最大値」は別なので、問題文が何を聞いているか確認する
