〜終わり〜
■ぜひアンケートにご協力下さい■
![社団法人日本電気技術者協会 電気技術解説講座](../../image_kouza/logo.gif)
![文字サイズ変更](../../image_kouza/size.gif)
![ヘルプ](../../image_kouza/help.gif)
![Presented by Electric Engineer's Association](../../image_kouza/header.gif)
![論理演算の基礎 富士テクノサーベイ(株) 山崎 靖夫](image/title.gif)
コンピュータのハードウェアは、電圧の高/低または電圧の有/無の状態を動作の基本としている。これら二つの状態を数値化して表現するには、1と0の二つの数値を組み合わせる2進数が最適である。
コンピュータでは、例えば電圧が高いまたは電圧がある状態を2進数の1に、電圧が低いまたは電圧が無い状態を2進数の0に割り当てている。
ちなみに2進数は10進数と同じような四則演算(和、差、積、商)のほかに、2進数特有な論理演算がある。最も基本的な論理演算は論理和と論理積及び否定である。
論理演算の基礎として二つの数(二つの変数)に対する論理演算から解説する。
(a) 論理和
論理和はOR(オア)とも呼ばれ、電気回路で表せば第1図に示すように描くことができる。この回路においてスイッチA、Bはそれぞれ二つの数(変数)を表している。つまりこの回路は、スイッチがオンの状態を2進数の1に、スイッチがオフの状態を2進数の0に割り当てている。そしてその演算結果をランプの点灯または消灯で表示するように構成されている。
![第1図](image/dig_01.gif)
![第1図](image/dig_01.gif)
さて、第1図に示す回路においてスイッチAとBが共にオフのとき、OR回路から出力電流が流れずランプが消灯する。次にスイッチAまたはBの一方をオンにするとOR回路から出力電流が流れてランプが点灯する。また、スイッチAとBの両方をオンにしてもOR回路は、出力電流を流すのでランプが点灯する。
これらの状態をまとめると第1表に示すようになる。この表は二つのスイッチが取り得るオンとオフの四つの組み合わせと、OR回路から出力される電流の状態、すなわちランプの点灯状態を表している。ちなみに第1表はスイッチのオンを1、オフを0にそれぞれ割り当て、ランプの点灯を1、消灯を0にそれぞれ割り当てている。この表を真理値表という。
![第1表](image/table_01.gif)
![第1表](image/table_01.gif)
次に論理和を数式で表す場合、四則演算の和と同じ記号「+」を用いる。そこで第1図の回路のスイッチAとBの状態を変数として数式化すると次のようになる。
スイッチAとBの両方がオフの場合
この場合は、二つの変数が0である。
0 + 0 = 0
スイッチAまたはBのいずれか一方がオンの場合
この場合は、一方の変数が1となる。
1 + 0 = 1
0 + 1 = 1
スイッチAとBの両方がオンの場合
この場合は、両方の変数が1である。
1 + 1 = 1
論理和は の 1 + 1 = 1 だけ四則演算の「和」と異なることに注意が必要である。また、変数を使って論理和を表せば次式となる。
![formula01](image/formula_01.gif)
![formula01](image/formula_01.gif)
(b) 論理積
論理積はAND(アンド)とも呼ばれ、電気回路で表せば第2図に示すようになる。この回路を見るとスイッチAとBが直列に接続されていることが分かる。したがって、この回路は両方のスイッチがオンになったときだけ回路に電流が流れてランプが点灯する。つまり、どちらか一方のスイッチがオフになっているとランプは点灯しない。
![第2図](image/dig_02.gif)
![第2図](image/dig_02.gif)
これらの関係を真理値表にすれば第2表に示すようになる。また、論理積は積を表す「・」の記号を用いる。
![第2表](image/table_02.gif)
![第2表](image/table_02.gif)
スイッチAとBの両方がオフの場合
0 ・0 = 0
スイッチAまたはBのいずれか一方がオンの場合
1 ・0 = 0
0 ・1 = 0
スイッチAとBの両方がオンの場合
1 ・1 = 1
論理積はこのように四則演算の「積」と同じ関係となる。また、変数を使って論理積を表せば次式に示すようになる。
![formula02](image/formula_02.gif)
![formula02](image/formula_02.gif)
(c) 否定
否定はNOT(ノット)とも呼ばれ、電気回路で表すと第3図に示すようになる。なお、この図に示したスイッチはB接点である。したがって、スイッチをオンにすると接点が開き、スイッチをオフにすると接点が閉じる。つまり、否定は入力が0のとき出力が1、入力が1のとき出力が0になる。このように否定は入力を反転(否定)した値を出力する論理演算である。
![第3図](image/dig_03.gif)
![第3図](image/dig_03.gif)
否定の真理値表を描くと第3表に示すようになる。否定を変数で表す場合、その変数の上にバーを描いて表す。
![formula03](image/formula_03.gif)
![formula03](image/formula_03.gif)
![第3表](image/table_03.gif)
![第3表](image/table_03.gif)
(d) 論理演算の記号
論理演算を電気回路で表す場合、第4図に示す図記号を用いる。
![第4図](image/dig_04.gif)
![第4図](image/dig_04.gif)
論理演算も四則演算と同じような基本定理がある。
(a) 交換則
![formula04](image/formula_04.gif)
![formula04](image/formula_04.gif)
(b) 結合則
![formula05](image/formula_05.gif)
![formula05](image/formula_05.gif)
(c) 二重否定則
![formula06](image/formula_06.gif)
![formula06](image/formula_06.gif)
二重否定は否定を更に否定すると元に戻ることを表している。
(d) ド・モルガンの法則
![formula07](image/formula_07.gif)
![formula07](image/formula_07.gif)
基本的論理演算(基本的な論理回路)を組み合せるといろいろな論理回路を作ることができる。これを組み合せ論理回路という。例えば、第5図に示すNOT回路とAND回路を組み合せた回路の真理値表は、第4表に示すようになる。この回路はNOT回路とAND回路の組み合せであるからNAND(ナンド)回路と呼ばれる。また、第6図に示すようにNOT回路とOR回路を組み合せた回路の真理値表を描くと第5表に示すようになる。これをNOR回路という。
![第5図](image/dig_05.gif)
![第5図](image/dig_05.gif)
![第4表](image/table_04.gif)
![第4表](image/table_04.gif)
![第6図](image/dig_06.gif)
![第6図](image/dig_06.gif)
![第5表](image/table_05.gif)
![第5表](image/table_05.gif)
次に第7図に示す回路の真理値表を描くと第6表に示すようになる。この回路は二つの入力が異なったときだけ出力が出ることから排他的論理和(エクスクルシブ・オア)と呼ばれている。
![第7図](image/dig_07.gif)
![第7図](image/dig_07.gif)
![第6表](image/table_06.gif)
![第6表](image/table_06.gif)
これらの論理回路の図記号を第8図に示す。
![第8図](image/dig_08.gif)
![第8図](image/dig_08.gif)
【例題】二入力の論理回路において、両方の入力レベルが「H」のとき出力が「H」、その他のときは出力が「L」になるものとする。このとき、「H」レベルを1、「L」レベルを0の論理とすると、この論理回路は次のうちどれか。
(1)AND (2)OR (3)NOT (4)NAND (5)NOR
〔答〕(1)