Logic Engine
前提レベル
このレベルを前提とするレベル
概要
2個の入力をビット単位で論理演算し、結果を出力する回路を構成する問題です。
行う論理演算は、3個目の入力 (CODE) の値によって以下のように選択されます。
CODE | 論理演算 |
---|---|
0 | OR |
1 | NAND |
2 | NOR |
3 | AND |
攻略
CODEと演算の関係をよく見て、それに沿って回路を構成します。
解答
まず、ORとNANDの関係に注目します。
ORの真理値表は
入力1 F F T T 入力2 F T F T 出力 F T T T
NANDの真理値表は
入力1 T T F F 入力2 T F T F 出力 F T T T
したがって、ORの入力を反転させるとNANDになることがわかります。
次に、ORとNOR、NANDとANDの関係は、それぞれ出力の反転です。
よって、以下のような回路を構築すればよいです。
- OR演算を基本とする。
- CODEの1ビット目がONなら、入力を反転させる。OFFなら反転させない。
- CODEの2ビット目がONなら、出力を反転させる。OFFなら反転させない。