「NAND」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「'''NAND'''(語源:Not And)とは、論理回路のひとつである。 == 入出力 == {| class="wikitable" |+ !入力a !入力b !出力 |- |0 |0 |1 |- |0 |1…」)
 
 
(同じ利用者による、間の6版が非表示)
1行目: 1行目:
'''NAND'''(語源:Not And)とは、[[論理回路]]のひとつである。
+
'''NAND'''(語源:Not AND、読み:なんど)とは、[[論理回路]]のひとつである。
  
 
== 入出力 ==
 
== 入出力 ==
26行目: 26行目:
  
 
== C言語での記法 ==
 
== C言語での記法 ==
[[C言語]]の[[論理演算]]にNAND演算子は存在しないので以下のように記述する。
+
[[C言語]]の[[論理演算]]にNAND演算子は存在しないので以下のように[[AND]]と[[NOT]]の組み合わせで記述する。
 
  !(a & b)
 
  !(a & b)
  
 
== NANDがあれば何でもできる ==
 
== NANDがあれば何でもできる ==
すべての論理回路はNANDで表現できる。
+
すべての論理回路はNANDの組み合わせで表現できる。
  NOT(a ) = NAND(a,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)));
  
この理論をもとに[[ハードウェア]]実装されたのがいわゆる「[[FPGA]]」である。
+
== 関連項目 ==
 +
* [[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演算子は存在しないので以下のようにANDNOTの組み合わせで記述する。

!(a & b)

NANDがあれば何でもできる[編集 | ソースを編集]

すべての論理回路はNANDの組み合わせで表現できる。 この理論をもとにハードウェア化されたのが「FPGA」である。

NOT

NOT(a) = NAND(a,a)

AND

AND(a,b) = NOT(NAND(a,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)));

関連項目[編集 | ソースを編集]