目次
はじめに
今回も、応用情報技術者試験の過去問を解いていきます。
今回は「論理回路」と「タイムチャートの読み取り」に関する問題です。
この分野は一見シンプルですが、波形の変化と論理式の対応関係を正確に理解する必要があり、意外と差がつきやすいポイントです。
問題
入力がAとB、出力がYの論理回路を動作させたとき、図のタイムチャートが得られた。
この論理回路として、適切なものはどれか。

引用:独立行政法人 情報処理推進機構
解答
正解:ウ(NAND回路)
解説
① タイムチャートの読み取り
まず、A・B・Yの関係を整理します。
| A | B | Y |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
→ この表から分かることは、
- AとBが両方1 → Y = 0
- それ以外 → Y = 1
② 論理の意味
この動作は次の論理と一致します。
Y = NOT (A AND B)
つまり:
- ANDの否定
- 別名:NAND
③ 各選択肢の意味
| 選択肢 | 回路 | 内容 |
|---|---|---|
| ア | XOR | 異なると1 → 違う |
| イ | XNOR | 同じと1 → 違う |
| ウ | NAND | 両方1で0 → 正解 |
| エ | NOR | 両方0で1 → 違う |
問題の用語解説
XOR(排他的論理和)
- 入力が異なるときだけ1になる論理
- 「どちらか一方だけ」
XNOR(同値)
- 入力が同じときに1
- 「一致しているか」
タイムチャート
- 時間に対する信号の変化を表した図
- デジタル回路では非常に重要
体系的位置づけ
この問題は以下の分野に属します。
ハードウェア
└ 論理回路
├ 基本ゲート(AND / OR / NOT)
├ 複合ゲート(NAND / NOR)
└ 応用(XOR / XNOR)
今回の問題の重要ポイント
「波形」→「真理値表」に変換する力
タイムチャートを見たら、
→ すぐに「A・B・Yの対応表」を作る
これが最重要です。
補足:各論理ゲートについて
基本となる論理ゲート(AND・OR・NOT)
デジタル回路は基本的に次の3つの論理ゲートから構成されています。
| ゲート | 意味 | 説明 |
|---|---|---|
| AND | 論理積 | 両方1のときだけ1 |
| OR | 論理和 | どちらかが1なら1 |
| NOT | 否定 | 0と1を反転 |
ANDゲート
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
イメージ
「両方ONのときだけON」
ORゲート
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
イメージ
「どちらかONならON」
NOTゲート
| A | 出力 |
|---|---|
| 0 | 1 |
| 1 | 0 |
イメージ
「反転する」
応用論理ゲート
実際の回路では、基本ゲートを組み合わせた応用ゲートがよく使われます。
今回の問題では次の4つが登場しています。
| ゲート | 意味 |
|---|---|
| XOR | 排他的論理和 |
| XNOR | 同値回路 |
| NAND | NOT AND |
| NOR | NOT OR |
XOR(排他的論理和)
意味
入力が異なるとき1になる
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
イメージ
「どちらか一方だけ1」
XNOR(同値回路)
意味
入力が同じとき1になる
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
これは
XNOR = NOT(XOR)
とも表されます。
NAND(NOT AND)
意味
ANDの結果を反転
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
NOR(NOT OR)
意味
ORの結果を反転
| A | B | 出力 |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 0 |
回路記号の見分け方
試験では記号の違いも重要です。
| 回路 | 見分け方 |
|---|---|
| XOR | ORの形+入力側に追加曲線 |
| XNOR | XOR+出力に○ |
| NAND | AND+出力に○ |
| NOR | OR+出力に○ |
特に
出力の○(バブル)=NOT
を意味します。
補足2:NANDの存在意義
👉 AND・OR・NOTだけで理論上は全部作れる
👉 それでも他のゲートが登場するのは「実用上の理由」があるから
です。
ここを「試験対策」と「実務」の両面で整理すると、かなり理解が深まります。
■ なぜ他の論理回路があるのか
理由は大きく3つです。
- ① 回路をシンプルにできる
- ② 高速・低コストにできる
- ③ よく使う処理をまとめた“部品化”できる
■ ① 回路をシンプルにできる
例えば今回のような「XNOR」
Y = NOT (A XOR B)
これをAND・OR・NOTだけで作ると…
A XOR B = (A AND NOT B) OR (NOT A AND B)
さらにNOTをかけるので、
👉 かなり複雑な回路になる
■ 比較
| 方法 | ゲート数 | 複雑さ |
|---|---|---|
| 基本ゲートだけ | 多い | 複雑 |
| XOR / XNOR使用 | 少ない | シンプル |
👉 つまり
「よく使う処理は1つの部品にした方が楽」
■ ② 高速・低コストにできる
現実の回路では、
- ゲート数が多い
→ 遅くなる(遅延が増える)
→ 電力も増える
■ イメージ
ゲートが多い
→ 信号が何段も通る
→ 遅れる
一方で、
XNORを1発で使う
→ 速い
→ 消費電力も少ない
👉 ハードウェアでは超重要
■ ③ よく使う処理の“部品化”
例えば:
XORが使われる場面
- 加算回路(足し算)
- 誤り検出(パリティ)
- 暗号
XNORが使われる場面
- 一致判定(比較回路)
AとBが同じか?
→ XNOR
👉 つまり
「頻出パターンは専用部品にした」
■ NAND / NORが特別な理由
ここは試験でもかなり重要です。
■ NAND / NORは「万能ゲート」
実は…
👉 NANDだけで全部の回路が作れる
👉 NORだけでも全部作れる
■ 例(NANDだけでNOT)
A NAND A = NOT A
■ なぜ重要?
実務では:
- 同じ種類のゲートだけで作ると
→ 製造が楽
→ コストが下がる
👉 だから
NANDだけの回路
NORだけの回路
が実際に使われる
■ NANDで回路を表現すると…
● NOT
A NAND A = NOT A
👉 同じ入力を2つ入れるだけ
● ANDも作れる
A AND B = NOT (A NAND B)
👉 NANDのあとにNOT(=NANDで代用できる)
● ORも作れる(少しトリッキー)
A OR B = (NOT A) NAND (NOT B)
👉 ド・モルガンの法則を利用

コメント