「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)));