負論理
(negative logic)
AND
、
OR
、
NAND
、
NOR
の 4 種類の
論理回路
の機能を、 次のようにまとめることができます。
回路
は た ら き
AND
すべての入力端子に
1
が入力されたときのみ
1
を出力する
OR
少なくとも1つの入力端子に
1
が入力されたときに
1
を出力する
NAND
すべての入力端子に
1
が入力されたときのみ
0
を出力する
NOR
少なくとも1つの入力端子に
1
が入力されたときに
0
を出力する
「すべての入力端子に…」 が AND、 NAND 回路、 「少なくとも1つの入力端子に…」 が OR、 NOR 回路です。
下図は各論理回路の記号ですが、 条件が成立したとき
(真のとき)
に
0
が出力される NAND や NOR には、 回路記号の後ろには小さい円があります。
この円は信号を反転
(0 は 1 に、1 は 0 に)
することを表しています。
AND 回路真理値表
A
B
X
0
0
0
0
1
0
1
0
0
1
1
1
OR 回路真理値表
A
B
X
0
0
0
0
1
1
1
0
1
1
1
1
NAND 回路真理値表
A
B
X
0
0
1
0
1
1
1
0
1
1
1
0
NOR 回路真理値表
A
B
X
0
0
1
0
1
0
1
0
0
1
1
0
しかし、 入力信号の
0
に着目すれば、 次のようにまとめることもできます。
回路
は た ら き
AND
少なくとも1つの 入力端子に
0
が入力されたときに
0
を出力する
OR
すべての 入力端子に
0
が入力されたときのみ
0
を出力する
NAND
少なくとも1つの 入力端子に
0
が入力されたときに
1
を出力する
NOR
すべての 入力端子に
0
が入力されたときのみ
1
を出力する
このように考えれば、 AND 回路は OR 回路のように、 OR 回路は AND 回路のようにも 機能することが分かります。
ならばこの際回路記号も、 機能に重きをおいて、 下図のように AND も OR 的に表した方が分かりやすくなります。
0
を基準にしている
(負論理である)
ことを表すために、 入力や出力側に小さい円をつけます。
この小さい円は 「0 が基準」 という意味ですから、 NAND 回路や NOR 回路の出力についている小さい円も、 「入力の条件が成立したときに 0 が出力されることを表す」 と考えればいいのです。
このような考え方を 「負論理」 といい、 はじめの 1 中心の考え方を 「正論理」 といいます。
ド・モルガンの定理をご存じの方は、
の左辺は NAND であることはお分かりでしょう。 そして左辺は論理回路記号の通常の書き方、 右辺は論理回路記号の負論理的表現と同じで、 定理のオーバーラインは論理回路記号の円に回路に対応しています。
は NOR 回路ですね。
回路図では、 同じ
論理回路
でも、 正論理で使用されているか負論理で使用されているかによって回路記号を使い分けます。
下図は
半加算器
の例ですが、 左は
AND
回路と
OR
回路、
NOT
回路を使っているのに対して、 右は
NAND
回路と
NOT
回路 を使っています。
右の半加算器で、 NAND 回路をすべて同じ記号で書くよりも、 S を出力する NAND 4 は負論理表現にした方が分かりやすく
(左の半加算器と全く同じ出力が得られることが一目で分かるように)
なります。
NOT 回路にもご注目ください。
NOT
回路の記号は通常左の N1、N2 のように三角形の後ろに小さい円をつけますが、 三角形の前に円がついている N3、N4、N5 も同じ NOT 回路です。 C を出力している N5 は、 前段の NAND 3 の出力を負論理から正論理に変換しています。
N3、N4 も三角形の前に円がついている形にしてあります。 それぞれ 入力 A = 1 かつ B = 0、 あるいは A = 0 かつ B = 1 であれば、 という論理を構成しているのですから、 N3、N4 のように記すのが本来ですが、 多くの書籍では N1、N2 のように、 「NOT 回路の記号は三角形の後ろに円をつける!」 で書かれています
(私も
そう書いています
けど… ^_^;)
。 誤りというわけではないんですが。
最初はとっつきにくいかもしれませんが、 このへんが分かれば、 論理回路が面白くなります。
関連事項:
AND 回路
OR 回路
NOT 回路
NAND 回路
NOR 回路
論理回路
情報処理概論 に戻る
用語解説 に戻る
戻る
update: 2014.06.05