論理演算
計算(演算)だよ
「真(true)」になるか「偽(false)」になるか判定するよ
値は「真(true)」か「偽(false)」しか出てこないよ
簡単に書くよ
論理演算(読:ロンリエンザン 英:logical operation)とは
計算(演算)の種類のひとつ
であり
「真(true)」と「偽(false)」のどっちになるかな?を判定する演算
です。
詳しく書くよ
サクっと一言で説明すると
「真(true)」と「偽(false)」のどっちになるか判定する演算
が「論理演算」です。
普通の足し算とか引き算では数字が出てきますよね。
論理演算では数字は出てきません。
出てくる値は「真(true)」と「偽(false)」だけです。
ただし、コンピュータの世界では
1:真(true)
0:偽(false)
と見なすことが多かったりします。
例えば
1 AND 0
であれば
真 AND 偽
を意図しています。
※あくまで「見なすことが多い」というだけで実際には決めの問題です。例えば「0:真」「1:偽」として扱うという独自ルールを決めていることもあり得ます。
論理演算で出てくる値は「真(true)」と「偽(false)」だけです。
計算結果も「真(true)」と「偽(false)」のどちらかになります。
「演算」というと値に対して何かするイメージを持つでしょうけどね。
あまり、そのイメージにとらわれない方が良いと思います。
何かがあります。
それに対して何かをします。
その結果が「真(true)」になるか「偽(false)」になるか判定するのが論理演算です。
……と言葉でゴチャゴチャ説明されても分かりにくいですかね。
論理演算で よく出てくるのは
・OR(論理和)
・AND(論理積)
・NOT(論理否定)
・XOR(排他的論理和)
の4つです。
この4つを押さえておけば、そんなに困ることはないはずです。
順番に見ていきましょう。
OR(論理和)は「複数の命題のうち、1つ以上が真であれば真、そうでなければ偽と判定する論理演算」です。
「1つでも正しければ良いよ」と0点以外は認めてくれるやつです。
試しに2つの値の組み合わせで考えてみましょう。
論理演算において、2つの値の組み合わせは
1.「0(偽)」-「0(偽)」
2.「0(偽)」-「1(真)」
3.「1(真)」-「0(偽)」
4.「1(真)」-「1(真)」
の4パターンあり得ます。
それぞれの論理和は
1.「0(偽)」OR「0(偽)」→「0(偽)」
2.「0(偽)」OR「1(真)」→「1(真)」
3.「1(真)」OR「0(偽)」→「1(真)」
4.「1(真)」OR「1(真)」→「1(真)」
です。
1つでも「1(真)」だったら「1(真)」になります。
AND(論理積)は「複数の命題のうち、すべて真であれば真、そうでなければ偽と判定する論理演算」です。
「全部正しくないとダメだよ」と100点満点しか認めてくれないやつです。
試しに2つの値の組み合わせで考えてみましょう。
論理演算において、2つの値の組み合わせは
1.「0(偽)」-「0(偽)」
2.「0(偽)」-「1(真)」
3.「1(真)」-「0(偽)」
4.「1(真)」-「1(真)」
の4パターンあり得ます。
それぞれの論理積は
1.「0(偽)」AND「0(偽)」→「0(偽)」
2.「0(偽)」AND「1(真)」→「0(偽)」
3.「1(真)」AND「0(偽)」→「0(偽)」
4.「1(真)」AND「1(真)」→「1(真)」
です。
すべて「1(真)」の場合のみ「1(真)」になります。
NOT(論理否定)は「命題が真であれば偽、偽であれば真と判定する論理演算」です。
身も蓋もない言い方をすると「逆にするよ」なやつです。
0点(NG)だったら100点(OK)になります。
100点(OK)だったら0点(NG)になります。
試しに「1(真)」と「0(偽)」で考えてみましょう。
論理否定すると
1.「0(偽)」→「1(真)」
2.「1(真)」→「0(偽)」
に なります。
逆になっていますよね。
XOR(排他的論理和)は「2つの命題のうち、1つだけが真であれば真、そうでなければ偽と判定する論理演算」です。
例えば1問50点の問題が2問あるテストで50点のときだけ認めてくれるやつです。
試しに2つの値の組み合わせで考えてみましょう。
論理演算において、2つの値の組み合わせは
1.「0(偽)」-「0(偽)」
2.「0(偽)」-「1(真)」
3.「1(真)」-「0(偽)」
4.「1(真)」-「1(真)」
の4パターンあり得ます。
それぞれの排他的論理和は
1.「0(偽)」XOR「0(偽)」→「0(偽)」
2.「0(偽)」XOR「1(真)」→「1(真)」
3.「1(真)」XOR「0(偽)」→「1(真)」
4.「1(真)」XOR「1(真)」→「0(偽)」
です。
片方だけが「1(真)」だったら「1(真)」になります。
ここまで4つの論理演算を見ました。
出てきた値は「1(真)」と「0(偽)」だけです。
計算結果は全部「1(真)」と「0(偽)」のどちらかになりました。
このような
なんかゴチャゴチャやった結果が「真(true)」になるか「偽(false)」になるか判定する演算
が論理演算です。
以上で論理演算の大雑把な(?)説明は終わりですが、せっかくなので「否定論理和(NOR)」と「否定論理積(NAND)」にも触れておきます。
余裕がある方は頑張って読んであげてください。
脳みそから煙が出そうな人は無理する必要ありません。
ゆっくり休んでください。
あっ、読んでくださるのですね。
ありがとうございます。
それでは、いってみましょう。
否定論理和(NOR)は「複数の命題のうち、すべて偽であれば真、そうでなければ偽と判定する論理演算」です。
「全部間違っていないとダメ」な0点しか認めてくれないやつです。
パッと見では難しく思えるかもしれませんけどね。
実際には、そこまで難しくありません。
否定論理和は
「論理和(OR)」を「論理否定(NOT)」したやつ
です。
試しに2つの値の組み合わせで考えてみましょう。
論理演算において、2つの値の組み合わせは
1.「0(偽)」-「0(偽)」
2.「0(偽)」-「1(真)」
3.「1(真)」-「0(偽)」
4.「1(真)」-「1(真)」
の4パターンあり得ます。
それぞれの論理和は
1.「0(偽)」OR「0(偽)」→「0(偽)」
2.「0(偽)」OR「1(真)」→「1(真)」
3.「1(真)」OR「0(偽)」→「1(真)」
4.「1(真)」OR「1(真)」→「1(真)」
です。
これを論理否定するのです。
「1(真)」と「0(偽)」を逆にします。
そうすると
1.「0(偽)」OR「0(偽)」→「0(偽)」→「1(真)」
2.「0(偽)」OR「1(真)」→「1(真)」→「0(偽)」
3.「1(真)」OR「0(偽)」→「1(真)」→「0(偽)」
4.「1(真)」OR「1(真)」→「1(真)」→「0(偽)」
に なります。
いかがでしょう。
「1(真)」を含まない
1.「0(偽)」-「0(偽)」
の組み合わせのみ「1(真)」になりましたよね。
このような
論理和を論理否定したやつ
が否定論理和です。
否定論理積(NAND)は「複数の命題のうち、ひとつでも偽であれば真、そうでなければ(すべて真なら)偽と判定する論理演算」です。
「全部正しかったらダメ」な100点満点は認められないやつです。
パッと見では難しく思えるかもしれませんけどね。
実際には、そこまで難しくありません。
否定論理積は
「論理積(AND)」を「論理否定(NOT)」したやつ
です。
試しに2つの値の組み合わせで考えてみましょう。
論理演算において、2つの値の組み合わせは
1.「0(偽)」-「0(偽)」
2.「0(偽)」-「1(真)」
3.「1(真)」-「0(偽)」
4.「1(真)」-「1(真)」
の4パターンあり得ます。
それぞれの論理積は
1.「0(偽)」AND「0(偽)」→「0(偽)」
2.「0(偽)」AND「1(真)」→「0(偽)」
3.「1(真)」AND「0(偽)」→「0(偽)」
4.「1(真)」AND「1(真)」→「1(真)」
です。
これを論理否定するのです。
「1(真)」と「0(偽)」を逆にします。
そうすると
1.「0(偽)」AND「0(偽)」→「0(偽)」→「1(真)」
2.「0(偽)」AND「1(真)」→「0(偽)」→「1(真)」
3.「1(真)」AND「0(偽)」→「0(偽)」→「1(真)」
4.「1(真)」AND「1(真)」→「1(真)」→「0(偽)」
に なります。
いかがでしょう。
「0(偽)」を含まない
4.「1(真)」-「1(真)」
の組み合わせのみ「0(偽)」になりましたよね。
このような
論理積を論理否定したやつ
が否定論理積です。
否定論理和(NOR)も否定論理積(NAND)も論理演算です。
ただし、どちらも複数の論理演算の複合体です。
よって
・OR(論理和)
・AND(論理積)
・NOT(論理否定)
・XOR(排他的論理和)
の4つを押さえておけば、そんなに困らないわけです。
一言でまとめるよ
まぁ「論理演算」って単語が出てきたら「『真(true)』と『偽(false)』のどっちになるか判定する演算なんだな~」と お考えください。
おまけ
■検索してみる?






