NAND(否定論理積)
論理演算だよ
論理積(AND)したのを論理否定(NOT)するよ
ひとつでも偽なら真、そうでなければ(すべて真なら)偽になるよ
簡単に書くよ
NAND(否定論理積)(読:ヒテイロンリセキ)とは
「真(true)」と「偽(false)」のどっちになるかな?を判定する演算(論理演算)のひとつ
であり
「1つでも『偽』だったら『真』になるよ。全部『真』だったら『偽』になるよ」なやつ
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・論理演算
・論理積
・論理否定
について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
論理演算は「真(true)」と「偽(false)」のどっちになるか判定する演算です。
普通の足し算とか引き算では数字が出てきますよね。
論理演算では数字は出てきません。
出てくる値は「真(true)」と「偽(false)」だけです。
ただし、コンピュータの世界では
1:真(true)
0:偽(false)
と見なすことが多かったりします。
例えば
1 AND 0
であれば
真 AND 偽
を意図しています。
※あくまで「見なすことが多い」というだけで実際には決めの問題です。例えば「0:真」「1:偽」として扱うという独自ルールを決めていることもあり得ます。
論理演算で出てくる値は「真(true)」と「偽(false)」だけです。
計算結果も「真(true)」と「偽(false)」のどちらかになります。
「演算」というと値に対して何かするイメージを持つでしょうけどね。
あまり、そのイメージにとらわれない方が良いと思います。
何かがあります。
それに対して何かをします。
その結果が「真(true)」になるか「偽(false)」になるか判定するのが論理演算です。
論理積は「複数の命題のうち、すべて真であれば真、そうでなければ偽と判定する論理演算」です。
「全部正しくないとダメだよ」と100点満点しか認めてくれないやつです。
「AND」と表現されることも あります。
試しに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(偽)」
に なります。
逆になっていますよね。
以上を踏まえて
複数の命題のうち、ひとつでも偽であれば真、そうでなければ(すべて真なら)偽と判定する論理演算
が「否定論理積」です。
全部正しかったらダメ、100点満点は認められないやつです。
「NAND(ナンド)」と表現されることも あります。
パッと見では難しく思えるかもしれませんけどね。
実際には、そこまで難しくありません。
否定論理積は
「論理積(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(偽)」になりましたよね。
このような
論理積を論理否定したやつ
が否定論理積です。
一言でまとめるよ
まぁ「否定論理積(NAND)」って単語が出てきたら「ひとつでも偽であれば真、そうでなければ(すべて真なら)偽になるんだな~」と お考えください。






