「NAND」の版間の差分
ナビゲーションに移動
検索に移動
Administrator (トーク | 投稿記録) (ページの作成:「'''NAND'''(語源:Not And)とは、論理回路のひとつである。 == 入出力 == {| class="wikitable" |+ !入力a !入力b !出力 |- |0 |0 |1 |- |0 |1…」) |
Administrator (トーク | 投稿記録) |
||
(同じ利用者による、間の6版が非表示) | |||
1行目: | 1行目: | ||
− | '''NAND'''(語源:Not | + | '''NAND'''(語源:Not AND、読み:なんど)とは、[[論理回路]]のひとつである。 |
== 入出力 == | == 入出力 == | ||
26行目: | 26行目: | ||
== C言語での記法 == | == C言語での記法 == | ||
− | [[C言語]]の[[論理演算]] | + | [[C言語]]の[[論理演算]]にNAND演算子は存在しないので以下のように[[AND]]と[[NOT]]の組み合わせで記述する。 |
!(a & b) | !(a & b) | ||
== NANDがあれば何でもできる == | == NANDがあれば何でもできる == | ||
− | + | すべての論理回路はNANDの組み合わせで表現できる。 | |
− | NOT(a | + | この理論をもとに[[ハードウェア]]化されたのが「[[FPGA]]」である。 |
+ | |||
+ | [[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))); | ||
− | + | == 関連項目 == | |
+ | * [[NAND型フラッシュメモリ]] | ||
+ | * [[FPGA]] |
2022年6月2日 (木) 06:04時点における最新版
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)));