ブール代数と論理演算  (1)
Boolean algebra & logical operation

■ ブール代数とは

  イギリスの数学者 ブール(George Boole) が1854年の著書「思考の法則に関する研究」で 提唱した記号論理学を ブール代数(Boolean algebra) と呼び, 1 または 0 の2値のみをもつ変数を用いる論理である. 2値代数,2値論理数学,ディジタル代数,スイッチング代数などとも呼ばれる
  真(true) または 偽(false) が 明確な文章を 命題(statement) という.ブール代数では一般に命題を記号 A, B, C, ... という変数で表し,その命題が真であれば “1” , 偽であれば “0” という2つの記号で表す.例えば 『風が吹く』 という命題を A とするとき,風が吹けば “A は真である” といい, A = 1 と表す.また風が吹かなければ “A は偽である” といい, A = 0 と表す.

■ 基本となる論理演算

  ブール代数においては基本となる論理演算として次の3つがある. この3つの演算でブール代数の全ての演算を表現することができる.
(1) NOT演算(NOT operation)
  変数 A のNOT演算(否定,反転)をここでは A A の上に横棒)と表し,「ノット A 」, 「 A バー」, 「 A の否定」, 「 A の反転」などと読む. ¬ A と表記する場合もある. NOT演算は否定(反転)すなわち,
A = 1 のとき,A = 0
A = 0 のとき,A = 1
  この論理演算を関数で表現すると,NOT演算(否定,反転)の関数 f
f ( A ) = A
となる.
  実際の電子回路において,論理演算は 論理ゲート(logical gate) あるいは 単にゲートと呼ばれる電子デバイスで行われる.ゲートは1つ以上の入力信号に対して 1つの出力信号を出す.入力および出力は 2値(電圧の高・低,スイッチのオン・オフなど)を取るため ブール代数として "1", "0" を用いて表現する.
NOT演算(否定)を行うゲートはNOTゲートと呼び, 次の回路記号で表す.
A  NOT gate  A
  この図は左側が入力で右側が出力を表している. 正確には「△」の部分はバッファ(バッファとは入力と同一の出力をする処理で 論理演算としては特に意味はないが電子回路の入出力ゲートとして記述される 場合がある)を表す記号で,否定の意味を表現しているのは「○」記号である. 他の論理ゲートの入力部・出力部に「○」記号を付けることもある. この表記法はMIL記法と呼ばれるもので,米国軍用規格(Military Standard)として 決められているものである.JIS規格の表記法もあるが一般的には MIL記法を使われることが多い.

(2) OR演算(OR operation)
  変数 A, B のOR演算(論理和)をここでは A + B と表し, 「 A オア B 」, 「 A または B 」, などと読む.OR演算(論理和)は A, B 2つの入力のうち, どちらかでも "1" である場合に "1" を出力し,2入力が両方とも "1" であっても "1" を 出力する.すなわち,いずれか1つでも入力が"1" であれば,"1" を出力する.
f ( A, B ) = A + B
A = 0, B = 0 のとき, A + B = 0
A = 0, B = 1 のとき, A + B = 1
A = 1, B = 0 のとき, A + B = 1
A = 1, B = 1 のとき, A + B = 1
  OR演算(論理和)を行うゲートはORゲートと呼び次の回路記号で表す. 入力信号が3つ以上の場合は2入力を繰り返すことで同様に演算できる.
A
B
 OR gate  A + B
A
B
C
 OR gate  A + B + C

(3) AND演算(AND operation)
  変数 A, B のAND演算(論理積)は AB または演算記号を省略して AB と表し, 「 A アンド B 」, 「 A かつ B 」, などと読む.AND演算(論理積)は,全ての入力が "1" である場合に "1" を出力し, 1つでも入力が "0" であれば "0" を出力する.
f ( A, B ) = AB
A = 0, B = 0 のとき, AB = 0
A = 0, B = 1 のとき, AB = 0
A = 1, B = 0 のとき, AB = 0
A = 1, B = 1 のとき, AB = 1
  AND演算(論理積)を行うゲートはANDゲートと呼び次の回路記号で表す. 入力信号が3つ以上の場合も同様に演算できる.
A
B
 AND gate  AB
A
B
C
 AND gate  ABC

■ 真理値表

  論理演算をわかりやすく次のような表にしたものを 真理値表(truth table)という.
NOT演算
A A
0
1
1
0
OR演算
A   B A + B
0   0
0   1
1   0
1   1
0
1
1
1
AND演算
A   B AB
0   0
0   1
1   0
1   1
0
0
0
1

【練習問題】

1. 次の論理回路から得られる真理値表を作成せよ.

(1)  
A
B
 figure ex1-1  f ( A, B )
(2)   A
B

 figure ex1-2  f ( A, B )
(3)   A



B
 figure ex1-3  f ( A, B )

(4)  
A
B
C
 figure ex1-4  f ( A, B, C )
※ 論理回路中の黒丸●は信号の分配(分岐)を表す.

2. 次に示す真理値表と同じ論理演算の関数 f ( A, B ) を求めよ.
A   B f ( A, B )
0   0
0   1
1   0
1   1
1
0
0
1


[  1  |  2  ] 後>

Copyright © NAKAGAWA Masao 2006-2017 All Rights Reserved


[ ビット演算(2進数の論理演算) ]
[ ビット演算(排他的論理和 XOR) ]
[ 複数ビットの加算 ]
[ 複数ビットの減算 ]
[ 2進数とビット操作 (ドットパターンの表現) ] 
[ ブール代数と論理演算 ]
[ 付表:2進数・8進数・16進数 ]
[ 付表:2の補数表現 ]
[ 教材・資料(情報教育用) ]
[ 情報科学・システム工学(中川雅央) ]