今回は論理演算と論理回路について解説します。
論理演算・論理回路とは何か
論理演算というのは、0/1(元は真:True/偽:False)のような2値の間で行われる演算、つまりあるルールに基づいた計算のことです。具体的な論理演算の種類について以下で説明します。そして論理回路というのは、論理演算を行うための回路です。
1つの入力から1つの出力を返す
まずは1つの入力から1つの出力を返す論理演算です。
NOT(否定)
NOTは、入力と反対の値を出力します。入力が0ならば1、入力が1ならば0が出力値となります。
2つの入力から1つの出力を返す
次に2つの入力から1つの出力を返す論理演算を解説します。
AND(論理積)
ANDは、入力同士を掛け算(積)します。掛け算ですから、どちらかの入力が0であれば出力も0、そうでなければ出力が1になります。
集合を使うと以下のように表せます。出力の円の内側が1、外側が0です。色が塗られている部分が、ANDの論理演算の結果1と出力される部分です。
NAND(否定論理積)
NANDは、NOTとANDを組み合わせた論理演算です。ANDの結果をNOTによってすべて反対にするというイメージを持つと理解がしやすいです。出力は以下のようにANDの出力結果の反対になります。
集合では以下のようになります。
OR(論理和)
ORは、入力のいずれかが1なら1を出力します。
集合では以下のようになります。
NOR(否定論理和)
NORはNOTとORを組み合わせた論理演算です。以下のように、ORの出力結果を反対にした出力となります。
集合では以下のようになります。
XOR(排他的論理和)
XORは、入力同士の値が異なる場合に1を出力し、入力同士が一致する場合に0を出力します。
集合では以下のようになります。
XNOR(否定排他的論理和)
XNORはNOTとXORを組み合わせた論理演算です。以下のように、XORの出力結果を反対にした出力となります。
集合では以下のようになります。
コメント