nand可生成所有逻辑表达式


在  里我们知道所有的逻辑表达式,或者说任意的真值表,都可以用not, and和or来表示。

在电路里,除了x和y这样的变量外,我们还有常量1和0可用,即接正极VCC或接地GND.

not(x) = nand(x, 1)

and(x,y) = not(nand(x, y)) = nand(nand(x, y), 1)

or(x,y) = not(not(x) and not(y)) = not(not(nand(not(x), not(y))) = nand(not(x), not(y))

x y & | ~&
0 0 0 0 1
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0

我有省钱的癖好。学了点电路后觉得:虽然这东西能work,但忒费材料了。:-) 据说宇宙里总共10**80个原子。What if我们把所有的原子都用来造了电脑,还是算不明白某些问题?而冲出宇宙的前提是算明白?宿命应笑我,不如吃茶去。:-) 站起来喝了口茶又转乐观了:没有不能算的,只是时间需要很长罢了,那就慢慢算,反正冲不出宇宙也能活。

老笑话:"神啊你看一个亿像啥?" "就像你看1分钱。" "那请你给我'1分钱'。"  "没问题,等1分钟。"

不用0和1,而用not和and,好像也是可以凑出所有式子的。not和or 或 0,1和or,好像也可以。我的程序未能用not和xor凑出or,可能只是程序错了,懒得去想了,因为业界用nand或nor,说明这两者比较省材料 and/or 抗干扰之类电气特性好。

为了和二进制、两仪、二哈……呼应,凑两条规则:

0. 否定之否定等于肯定,没有无就没有有,没有有就没有无

1. 为了化简式子要先多写几项

相关