🧮

論理回路とNANDゲート

2023/03/17に公開約1,000字

すべての論理回路は NAND ゲートから始まっているというのは本当なのかどうか Ruby のコードで検証してみる

NAND = -> (a, b) { !(a && b) }
NOT  = -> a { NAND[a, a] }
AND  = -> (a, b) { NOT[NAND[a, b]] }
OR   = -> (a, b) { NAND[NOT[a], NOT[b]] }
XOR  = -> (a, b) { NAND[NAND[a, NAND[a, b]], NAND[b, NAND[a, b]]] }

NAND[false, false] # => true
NAND[false, true]  # => true
NAND[true, false]  # => true
NAND[true, true]   # => false

NOT[false]         # => true
NOT[true]          # => false

AND[false, false]  # => false
AND[false, true]   # => false
AND[true, false]   # => false
AND[true, true]    # => true

OR[false, false]   # => false
OR[false, true]    # => true
OR[true, false]    # => true
OR[true, true]     # => true

XOR[false, false]  # => false
XOR[false, true]   # => true
XOR[true, false]   # => true
XOR[true, true]    # => false

結果: 本当だった

参照

https://www.youtube.com/watch?v=SSjeGjhwBo0
https://www.youtube.com/watch?v=KXdrtkriK3o
https://www.youtube.com/watch?v=09j8sv168io
https://wwws.kobe-c.ac.jp/deguchi/sc180/logic/gate.html

Discussion

ログインするとコメントできます