最終更新日:2026年7月23日
fe fe-technology logic-circuit
まず結論
パリティ回路とは、ビット列に含まれる1の個数が、偶数か奇数かを判定する回路です。
基本情報技術者試験では、まず次の対応を押さえます。
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を組み合わせて判定できます。
(a XOR b) XOR (c XOR d)
XORには結合法則があるため、次と同じ意味です。
a XOR b XOR c XOR d
この結果は、入力中の1の個数が奇数なら1、偶数なら0になります。
したがって、偶数個のとき1を出力する回路は次の形です。
NOT(a XOR b XOR c XOR d)
科目Aでどう出る?
科目Aでは、論理回路図を見て、入力条件を満たす回路を選ぶ問題として出題されます。
判断手順は次のとおりです。
1. 求める条件が偶数か奇数か確認する
2. XORが奇数個で1になることを使う
3. 偶数個で1にしたいなら最後にNOTを付ける
まず0000を入れてみる
選択肢を切るときは、最初にすべて0を入れると効率的です。
問題で「1の個数が0個のとき1」とあるなら、0000 を入力したときに0になる回路は除外できます。
例えば、2つのXOR結果をANDする回路では、
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です。
奇数個で1
→ XOR
偶数個で1
→ XORの後にNOT
XORを何段つなぐかで意味が変わる
XORは、まとめ方を変えても結果は同じです。
(a XOR b) XOR (c XOR d)
と、
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個ある入力でも確認する
- 用語ではなく、問題文に示された出力条件を優先する