NAND 【Not AND】 否定論理積

概要

NAND(Not AND)とは、論理演算の一つで、二つの命題のいずれも真のときに偽となり、それ以外のときは真となるもの。論理回路や2進数の数値によるNANDは、二つの入力が1のときのみ出力が0となり、いずれか一方あるいは両方が0のときは1となる。論理積(AND)の結果を否定(NOT)したものと同値

三入力以上の場合は、まず二つを選んでNANDを取り、その結果と残りの中から一つを選んでNANDを取り、という手順を繰り返すことで結果を得ることができ、すべての入力が真(または1)のときのみ出力が偽(または0)となり、いずれかの入力が偽(または0)の場合には真(または1)となる。

論理学では記号「|」または「↑」を用いて「P|Q」「P↑Q」などのように表記する。電子工学(論理回路)では論理積(AND)の記号「・」と否定(NOT)の記号「¯」(上線)を組み合わせて「P・Q」のように表記することが多い。

NAND演算を行う論理回路を「否定論理積演算回路」「NAND演算回路」「NANDゲート」などと呼ぶ。AND回路OR回路NOT回路、およびこれらを組み合わせた任意の回路は複数のNAND回路の組み合わせによって実現できる「機能的完全性」(functional completeness)という性質がある。他の論理ゲートより少ない半導体素子(トランジスタなど)で実装できるため実用上もよく利用される。

フラッシュメモリの実装方式には、記憶素子をNAND回路によって構成する「NAND型フラッシュメモリ」と、NOR回路否定論理和)によって構成する「NOR型フラッシュメモリ」がある。主流となっているのはNAND型であるため、文脈によってはNAND型フラッシュメモリを指して「NAND」と略す場合もある。

(2024.1.11更新)

論理演算

NOT 否定
入力01
出力10

AND 論理積
入力10011
入力20101
出力0001

OR 論理和
入力10011
入力20101
出力0111

XOR 排他的論理和
入力10011
入力20101
出力0110

NAND 否定論理積
入力10011
入力20101
出力1110

NOR 否定論理和
入力10011
入力20101
出力1000

XNOR 否定排他的論理和
入力10011
入力20101
出力1001