---
title: "パリティ回路とは？XORで偶数・奇数を判定する方法【基本情報技術者試験】"
description: "パリティ回路を、XORとNOTの性質から整理します。1の個数が奇数なら1、偶数なら0になるXORの特徴と、偶数個で1にする回路の見分け方をFE試験向けに解説します。"
last_modified_at: "2026-07-23"
canonical_url: "https://stemtazoo.github.io/fe/parity-circuit/"
section: "fe"
---

## まず結論

**パリティ回路**とは、ビット列に含まれる1の個数が、偶数か奇数かを判定する回路です。

基本情報技術者試験では、まず次の対応を押さえます。

```text
XOR
→ 1の個数が奇数なら1

XORの後にNOT
→ 1の個数が偶数なら1
```

4ビット入力で、1の個数が0個または偶数個のとき1を出力したい場合は、4入力をXORでまとめ、最後にNOTで反転します。

## 直感的な説明

XORは、1の数を数える代わりに、**奇数か偶数かだけを判定するスイッチ**のようなものです。

たとえば、4ビットの入力が次の場合です。

| 入力 | 1の個数 | XORの結果 |
|---|---:|---:|
| `0000` | 0 | 0 |
| `0001` | 1 | 1 |
| `0011` | 2 | 0 |
| `0111` | 3 | 1 |
| `1111` | 4 | 0 |

1の個数が奇数なら1、偶数なら0になっています。

そのため、偶数個のとき1にしたければ、XORの結果をNOTで反転します。

## 定義・仕組み

XORは、2つの入力が異なるときに1を出力します。

| X | Y | XOR |
|---:|---:|---:|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |

4ビットの場合は、2入力XORを組み合わせて判定できます。

```text
(a XOR b) XOR (c XOR d)
```

XORには結合法則があるため、次と同じ意味です。

```text
a XOR b XOR c XOR d
```

この結果は、入力中の1の個数が奇数なら1、偶数なら0になります。

したがって、偶数個のとき1を出力する回路は次の形です。

```text
NOT(a XOR b XOR c XOR d)
```

## 科目Aでどう出る？

科目Aでは、論理回路図を見て、入力条件を満たす回路を選ぶ問題として出題されます。

判断手順は次のとおりです。

```text
1. 求める条件が偶数か奇数か確認する
2. XORが奇数個で1になることを使う
3. 偶数個で1にしたいなら最後にNOTを付ける
```

### まず0000を入れてみる

選択肢を切るときは、最初にすべて0を入れると効率的です。

問題で「1の個数が0個のとき1」とあるなら、`0000` を入力したときに0になる回路は除外できます。

例えば、2つのXOR結果をANDする回路では、

```text
0 XOR 0 = 0
0 XOR 0 = 0
0 AND 0 = 0
```

となるため、不適切です。

### 次に1が2個の入力を試す

すべて0で区別できない場合は、`1010` など1が2個ある入力を試します。

偶数個で1になる回路なら、出力は1でなければなりません。

## どんな場面で使う？

パリティは、通信や記憶装置での簡単な誤り検出に使われます。

ビット列にパリティビットを追加し、受信側で1の個数が決められた偶奇になっているかを確認します。

ただし、パリティで検出できるのは、主に奇数個のビット誤りです。2ビット同時に反転した場合などは検出できないことがあります。

## よくある誤解・混同

### 偶数パリティならXORだけでよい

XOR単体は、1の個数が奇数のとき1です。

```text
奇数個で1
→ XOR

偶数個で1
→ XORの後にNOT
```

### XORを何段つなぐかで意味が変わる

XORは、まとめ方を変えても結果は同じです。

```text
(a XOR b) XOR (c XOR d)
```

と、

```text
a XOR b XOR c XOR d
```

は同じです。

### 偶数パリティと偶数個で1は同じ意味

問題によって「偶数パリティ」の表現は、パリティビットを含めた全体の1の個数を偶数にする方式を指します。

一方、論理回路問題では「入力中の1の個数が偶数なら1を出力する回路」を問う場合があります。

試験では、用語だけで決めず、問題文の出力条件を確認します。

### ANDやORでも個数を判定できる

ANDやORは、一部の入力パターンでは正しく見えることがありますが、1の個数の偶奇を安定して判定するにはXORが適しています。

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

- パリティ回路は、1の個数が偶数か奇数かを判定する
- XORは、1の個数が奇数のとき1になる
- 偶数個のとき1にしたい場合は、XORの後にNOTを付ける
- 4入力でも、XORを順につなげれば偶奇を判定できる
- 回路問題では、まず`0000`を入力して選択肢を切る
- 区別できなければ、1が2個ある入力でも確認する
- 用語ではなく、問題文に示された出力条件を優先する
