「NAND論理回路」の版間の差分
Administrator (トーク | 投稿記録) |
Administrator (トーク | 投稿記録) |
||
| 31行目: | 31行目: | ||
== NANDがあれば何でもできる == | == NANDがあれば何でもできる == | ||
すべての論理回路はNANDの組み合わせで表現できる。 | すべての論理回路はNANDの組み合わせで表現できる。 | ||
この理論をもとに[[ハードウェア]]化されたのが「[[FPGA]]」である。 | |||
[[NOT]] | [[NOT]] | ||
NOT(a) = NAND(a,a) | NOT(a) = NAND(a,a) | ||
| 39行目: | 41行目: | ||
[[XOR]] | [[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))); | ||
2022年6月2日 (木) 05:54時点における版
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の組み合わせで表現できる。 この理論をもとにハードウェア化されたのが「FPGA」である。
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)));