「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

NAND(否定論理積)

pointこの用語のポイント

point論理演算だよ

point論理積(AND)したのを論理否定(NOT)するよ

pointひとつでも偽なら真、そうでなければ(すべて真なら)偽になるよ

スポンサーリンク

簡単に書くよ

NAND(否定論理積)(読:ヒテイロンリセキ)とは

「真(true)」と「偽(false)」のどっちになるかな?を判定する演算(論理演算)のひとつ
であり

「1つでも『偽』だったら『真』になるよ。全部『真』だったら『偽』になるよ」なやつ
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

論理演算
論理積
論理否定


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

論理演算は「true」と「false」のどっちになるか判定する演算です。

否定論理積(NAND)

普通の足し算とか引き算では数字が出てきますよね。

否定論理積(NAND)2

論理演算では数字は出てきません。
出てくる値は「真(true)」と「偽(false)」だけです。

否定論理積(NAND)3

ただし、コンピュータの世界では

1:真(true)
0:偽(false)


と見なすことが多かったりします。
例えば

1 AND 0

であれば

真 AND 偽

を意図しています。

否定論理積(NAND)4

※あくまで「見なすことが多い」というだけで実際には決めの問題です。例えば「0:真」「1:偽」として扱うという独自ルールを決めていることもあり得ます。

論理演算で出てくる値は「真(true)」と「偽(false)」だけです。
計算結果も「真(true)」と「偽(false)」のどちらかになります。

否定論理積(NAND)5

「演算」というと値に対して何かするイメージを持つでしょうけどね。
あまり、そのイメージにとらわれない方が良いと思います。

何かがあります。
それに対して何かをします。
その結果が「真(true)」になるか「偽(false)」になるか判定するのが論理演算です。

論理積は「複数の命題のうち、すべて真であれば真、そうでなければ偽と判定する論理演算」です。
「全部正しくないとダメだよ」と100点満点しか認めてくれないやつです。
「AND」と表現されることも あります。

否定論理積(NAND)6

試しに2つの値の組み合わせで考えてみましょう。
論理演算において、2つの値の組み合わせは

1.「0(偽)」-「0(偽)
2.「0(偽)」-「1(真)
3.「1(真)」-「0(偽)
4.「1(真)」-「1(真)


の4パターンあり得ます。

否定論理積(NAND)7

それぞれの論理積は

1.「0(偽)」AND「0(偽)」→「0(偽)」
2.「0(偽)」AND「1(真)」→「0(偽)」
3.「1(真)」AND「0(偽)」→「0(偽)」
4.「1(真)」AND「1(真)」→「1(真)」


です。

否定論理積(NAND)8

すべて「1(真)」の場合のみ「1(真)」になります。

否定論理積(NAND)9

論理否定は「命題が真であれば偽、偽であれば真と判定する論理演算」です。
「NOT」と表現されることも あります。
身も蓋もない言い方をすると「逆にするよ」なやつです。
0点(NG)だったら100点(OK)になります。
100点(OK)だったら0点(NG)になります。

否定論理積(NAND)10

試しに「1(真)」と「0(偽)」で考えてみましょう。
論理否定すると

1.「0(偽)」→「1(真)」
2.「1(真)」→「0(偽)」


に なります。

否定論理積(NAND)11

逆になっていますよね。

以上を踏まえて

複数の命題のうち、ひとつでも偽であれば真、そうでなければ(すべて真なら)偽と判定する論理演算

が「否定論理積」です。
全部正しかったらダメ、100点満点は認められないやつです。
「NAND(ナンド)」と表現されることも あります。

否定論理積(NAND)12

パッと見では難しく思えるかもしれませんけどね。
実際には、そこまで難しくありません。
否定論理積は

「論理積(AND)」を「論理否定(NOT)」したやつ

です。

試しに2つの値の組み合わせで考えてみましょう。
論理演算において、2つの値の組み合わせは

1.「0(偽)」-「0(偽)
2.「0(偽)」-「1(真)
3.「1(真)」-「0(偽)
4.「1(真)」-「1(真)


の4パターンあり得ます。

否定論理積(NAND)13

それぞれの論理積は

1.「0(偽)」AND「0(偽)」→「0(偽)」
2.「0(偽)」AND「1(真)」→「0(偽)」
3.「1(真)」AND「0(偽)」→「0(偽)」
4.「1(真)」AND「1(真)」→「1(真)」


です。

否定論理積(NAND)14

これを論理否定するのです。
「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(偽)」


に なります。

否定論理積(NAND)15

いかがでしょう。
「0(偽)」を含まない

4.「1(真)」-「1(真)

の組み合わせのみ「0(偽)」になりましたよね。

否定論理積(NAND)16

このような

論理積を論理否定したやつ

が否定論理積です。


image piyo2

一言でまとめるよ

まぁ「否定論理積(NAND)」って単語が出てきたら「ひとつでも偽であれば真、そうでなければ(すべて真なら)偽になるんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像039
書籍画像077


書籍画像
わわわ説明術コラム
宣伝だよ
わかばちゃんとつくって、壊して、直して学ぶ NewSQL入門
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】