2. 基本論理演算と回路
NOT演算(否定演算)
NOT演算とは、論理変数の真理値を反転する演算(否定演算)である。NOT演算子は通常、単項演算子として使用され、論理変数を1つだけ取る。
A | Y=\overline{A} |
1(真) | 0(偽) |
0(偽) | 1(真) |
A=0 \rightarrow \bar{A}=1 \\A=1 \rightarrow \bar{A} =0と書ける。図1はBuffer とNOT回路の回路図記号である。実際の回路では、例えば、+5\;Vを「1」に、0\;Vを「0」に対応させることで、\{1,0\}の2値を実現している。

※以下、真を「1」、偽を「0」とする。(当然、逆に値{1,0}を定義しても良い。)
真理値表
真理値表とは、論理関数の、入力の全てのパターンとそれに対する結果の値を、表にしたものである。真理値表は、論理演算の入力値と出力値の対応関係を表として表したもので、一般的な形式では表の左側の列に入力を、右側の列に出力をそれぞれ並べる。各行に入力の組み合わせと、その時の出力を記入する。
OR演算(論理和)
OR演算とは、2つの論理変数の真理値のうち、いずれか一方が真「1」である場合に、真の値「1」を返す演算である。OR演算子は通常、二項演算子として使用され、論理変数を2つ取る。
表2はOR演算の真理値表である。また、図2がOR回路の回路図記号である。
A | B | Y = A + B |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
3変数以上のOR論理関数は、2変数のOR論理関数を組み合わせることで実現できる。つまりA+B+C = (A+B)+Cとできる。図3は3変数OR回路が2変数OR回路の組み合わせで実現できることを示している。


AND演算(論理積)
AND演算とは、2つの論理変数の真理値がどちらも真「1」である場合にのみ、真の値「1」を返す演算である。AND演算子は通常、二項演算子として使用され、論理変数を2つ取る。
表3はAND演算の真理値表である。また、図4がAND回路の回路図記号である。
A | B | Y=A \cdot B |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
3変数以上のAND論理関数は、2変数のAND論理関数を組み合わせることで実現できる。つまりA \cdot B \cdot C = (A \cdot B) \cdot Cとできる。図5は3変数AND回路が2変数AND回路の組み合わせで実現できることを示している。


論理関数の完全性
論理関数の完全性とは、任意の論理関数は、NOT,AND,ORの3つの演算子だけで構成できることを言う。
論理関数をf、論理変数を(x_1,x_2,x_3, \cdots, x_n) とする。x_1,x_2, \cdots x_nは\{1\; , \;0\}の値をとる。論理関数値zは、z = f(x_1,x_2,x_3, \cdots , x_n)で表せ、論理関数値zは、\{1\; , \;0\}の値をとる。
n個の論理変数があるとき、組み合わせの数は2^nとなる。2^n個の論理変数の組み合わせに対して、論理関数値の組み合わせは2通りの\{1,\;0\}となる。従って、可能な論理関数の数は、2^{2^n}個となる。
論理関数は、引数の全ての組み合わせに対して、関数値\{0\; , \;1\}を対応させた表によって表せる。例えば、引数をA,\;Bの2個とすると、その組み合わせは、4通りとなり、それに対して関数値は2^4=16通りとなる。表4が2変数の論理関数の真理値表である。
A | B | ① | ② | ③ | ④ | ⑤ | ⑥ | ⑦ | ⑧ | ⑨ | ⑩ | ⑪ | ⑫ | ⑬ | ⑭ | ⑮ | ⑯ |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
表4において関数値が②となるところが、AND関数であり、関数値が⑧となるところが、OR関数である。この表より、16通りの関数が構成できることが分かる。これら16通りの関数がNOT,AND,ORの3つの演算子で実現できることが示せれば、2変数論理関数の完全性がいえる。
NOR演算、NAND演算
NOR と NAND は、論理演算の 2 つの基本演算である。NOR 演算は、2 つの論理変数の真理値がどちらも偽「0」である場合にのみ、真の値「1」を返し、一方、NAND 演算は、2 つの論理変数の真理値がどちらも真「1」である場合にのみ、偽の値「0」を返す。また、NOR 演算は、OR 演算の否定として、NAND 演算は、AND演算の否定として、表現することができる。
NOR演算
NOR 演算は、2 つの論理変数の真理値がどちらも偽「0」である場合にのみ、真の値「1」を返す演算である。NOR 演算子は通常、三項演算子として使用され、論理変数を 2 つ取る。NOR 演算の真理値表を表5に示す。
A | B | A + B | Y= \overline{A+B} |
0 | 0 | 0 | 1 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 1 | 0 |

図6は、NOR回路の図記号とNOR回路がOR回路とNOT回路から構成されることを示している。
NAND演算
NAND 演算は、2 つの論理変数の真理値がどちらも真「1」である場合にのみ、偽の値「0」を返す演算である。NAND 演算子は通常、三項演算子として使用され、論理変数を 2 つ取る。NAND 演算の真理値表を表6に示す。
A | B | A \cdot B | Y= \overline{A \cdot B} |
0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |

図7は、NAND回路の図記号とNAND回路がAND回路とNOT回路から構成されることを示している。
NAND演算、NOR演算の完全性
NAND と NOR は、論理演算の基本演算であり、任意の論理関数は、NAND または NOR だけで構成することができ、この性質をNAND と NOR の完全性と言う。
NAND と NOR の完全性は、論理回路やプログラミング言語の設計において、重要な意味を持っている。論理回路は、論理ゲートと呼ばれる素子によって構成されおり、NAND や NOR などの論理演算を行うことができる。NAND と NOR の完全性により、任意の論理関数をNAND または NOR の論理ゲートだけで実装することができる。
図8はNOR回路、NAND回路からNOT回路を構成する方法を示している。表7がその真理値表である。
X | A | B | Y=\overline{X} |
0 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
このNOT回路を使うことで、図9,図10に示すように、NOR回路からOR回路を、NAND回路からAND回路を構成することができる。



ド・モルガンの法則
ド・モルガンの法則とは、論理演算の 2 つの法則である。
・ド・モルガンの第 1 法則:AとBの論理和の否定は、Aの否定とBの否定の論理積と等しい。\overline{A+B} = \overline{A} \cdot \overline{B}図11が回路図での表現、表8が真理値表である。
A | B | \overline{A} | \overline{B} | Y=\overline{A+B}=\overline{A} \cdot \overline{B} |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 | 0 |
1 | 0 | 0 | 1 | 0 |
1 | 1 | 0 | 0 | 0 |
・ド・モルガンの第 2 法則:AとBの論理積の否定は、Aの否定とBの否定の論理和と等しい。\overline{A \cdot B} = \overline{A} + \overline{B}図12が回路図での表現、表9が真理値表である。
A | B | \overline{A} | \overline{B} | Y=\overline{A \cdot B}=\overline{A} +\overline{B} |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 0 | 0 | 0 |


“2. 基本論理演算と回路” に対して1件のコメントがあります。
コメントは受け付けていません。