NAND論理回路
NAND(語源:Not AND、読み:なんど)とは、論理回路(論理演算)のひとつで、以下のような入出力を持つものをいいます。
入出力[編集 | ソースを編集]
| 入力a | 入力b | 出力 |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
NANDがあれば何でもできる[編集 | ソースを編集]
すべての論理回路はNANDの組み合わせで表現できる。
NOT(a) = NAND(a,a)
AND(a,b) = NOT(NAND(a,b))
OR(a,b) = NAND(NOT(a), NOT(b))
XOR(a,b) = NADN(NAND(a,NAND(a,b)),NAND(b,NAND(a,b)));
C言語での記法[編集 | ソースを編集]
C言語の論理演算にNAND演算子は存在しないので以下のようにANDとNOTの組み合わせで記述する。
!(a & b)