【独習】論理回路とは?ブール代数とは?

今回は、ブール代数と論理回路の基本を書き溜め、
新しく計算機科学を学ぶ人のためのマイルストーンを残していく。

広告

ブール代数とは

論理学の数学化

まずブール代数についてWikipediaから引用する。

ブール代数(ブール束)とは束論における可補分配束(complemented distributive lattice)のことである。
(Wikipediaより)

ブール代数の深い内容については数学書に任せるとして、
大事なことは、ブール代数には4つの公理があり、
また、それによって現代のコンピューターが成り立っているという点である。

  1. 論理変数は0か1のどちらかの値をとる
  2. 0=1, 1=0
  3. A+0=0+A=A, A・1=1・A=A
  4. A+1=1+A=1, A・0=0・A=0
ブールは論理を2進数で扱うことで数学化に成功した

特にブール代数では下記の3つが基本的な演算方法であり、
コンピュータにおける2進数の世界では、
この3つを組み合わせることであらゆる計算が可能になる。

  • AND
  • OR
  • NOT

AND回路 論理積

「○ かつ △」

AND回路では、入力が全て「1」のときのみ出力が「1」になります。
逆に、入力に「0」が一つでもあると出力は「0」になります。

論理回路記号は下記

bool_logistic_circuit_and

OR回路 論理和

「○ または △」

OR回路では、入力のどれかが「1」であれば、出力は「1」になります。
逆に入力がすべて「0」のときのみ出力が「0」になります。

論理回路記号は下記
bool_logistic_circuit_or

NOT回路 否定

「○ ではない」

NOT回路は、入力に対して出力が反転されます。
「0」を入力すれば「1」になり、「1」を入力すれば「0」になります。

論理回路記号は下記
bool_logistic_circuit_not

1+1の論理回路を描く

先の3つの論理回路記号を利用して
1+1の計算を行うと下記のような感じ。

ポイントは2つあり、
10進数は2進数に変換することと、bit上位部と下位部に分けて処理することである。

bool_logistic_circuit_1+1

ブール代数と論理回路の基本記号を説明してください。

さて、先程の説明を読んだ人は、ブール代数と論理回路の基本記号を説明できますね。
確か3つありましたね? どのような論理回路記号か描けますか?

ノートやメモに書くでも、Twitterに呟くでもYoutubeにアップロードするでも構いません。
今日知った情報をアウトプットしてみましょう。



正直文字列照合がうまく説明できていない気がする。
なので、詳しくは、参考をどうぞ。

資料1
資料2
wiki

じゃあね〜〜〜。