「NAND」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
31行目: | 31行目: | ||
== NANDがあれば何でもできる == | == NANDがあれば何でもできる == | ||
すべての論理回路はNANDの組み合わせで表現できる。 | すべての論理回路はNANDの組み合わせで表現できる。 | ||
− | NOT(a | + | [[NOT]] |
+ | NOT(a) = NAND(a,a) | ||
+ | [[AND]] | ||
AND(a,b) = NOT(NAND(a,b)) | AND(a,b) = NOT(NAND(a,b)) | ||
− | OR (a,b) = NAND(NOT(a), NOT(b)) | + | [[OR]] |
+ | OR(a,b) = NAND(NOT(a), NOT(b)) | ||
+ | [[XOR]] | ||
XOR(a,b) = NADN(NAND(a,NAND(a,b)),NAND(b,NAND(a,b))); | XOR(a,b) = NADN(NAND(a,NAND(a,b)),NAND(b,NAND(a,b))); | ||
この理論をもとに[[ハードウェア]]化されたのが「[[FPGA]]」である。 | この理論をもとに[[ハードウェア]]化されたのが「[[FPGA]]」である。 |
2022年6月2日 (木) 05:53時点における版
NAND(語源:Not And)とは、論理回路のひとつである。
入出力
入力a | 入力b | 出力 |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
C言語での記法
C言語の論理演算にNAND演算子は存在しないので以下のようにANDとNOTの組み合わせで記述する。
!(a & b)
NANDがあれば何でもできる
すべての論理回路はNANDの組み合わせで表現できる。 NOT
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)));