持续写作中 · WORK IN PROGRESS
MAIN CURRENT / 02.3公开草稿 · 2026.08.29

主流 02.3

门外汉

Logic Gates

主流 02.3|门外汉 · Logic Gates

引-逻辑门

到这里,机器已经拥有了两种能够被可靠区分的状态。

不过,一串静止的 01 还只能表示信息。要让计算真正发生,电路还必须按照一定的规则组合并改变这些状态。

而这些规则在数字电路中最基础的物质实现,它们同时还有个相当形象的名字:

逻辑门。

规则怪谈

我觉得 “逻辑门” 这个词非常贴切——它确实执行着极为简单的逻辑,也确实像一扇门一样,根据输入决定另一侧应该出现什么状态。

严格来说,逻辑门是一种按照固定规则,将一个或多个输入逻辑值映射为输出逻辑值的电路。

当然,它并不理解所谓的 “规则”,也不知道门外站着什么。
它只负责在输入发生变化以后,坚定不移地给出规定好的输出。

(在这一点上,它可能比大多数软件需求都更加稳定。)

实际上,逻辑门的规则并不复杂,甚至简单到了可以被完整列出来:

一个逻辑门的输入只有 01 两种状态。
因此,拥有 n 个输入的逻辑门,总共只会遇到 2ⁿ 种输入组合。
把所有组合以及它们对应的输出逐一写进表格,便得到了一张 真值表(truth table)

在布尔逻辑中,我们通常将 1 解释为 “真” ,将 0 解释为 “假” ,真值表也因此得名。
(某些编程语言里就可以直接用 01 作为 “真” 或者 “假”)

当然,电子并不知道什么是真什么是假。
它们只是又一次被人类安排了意义。

康神开播了——真的假的?

在 CS 里,我们不妨把 “康神开播了” 看作一个命题,并将它记作 P

所谓命题,就是一句能够被判断为真或假的陈述。
康神开播了,P = 1;康神没开播,P = 0

至于康神到底有没有开播,应该去直播间确认——真值表不负责现场调查。
它只负责告诉我们:如果命题是真的,接下来会怎样;如果命题是假的,又会怎样。

(开播了吗?如开,到底开没开,如开。)

直播画面,字幕为“康神开播了,真的假的”

如果 P 表示 “康神开播了”,那么 NOT P 表示的就是:

康神没有开播。

(字面意思了属于是)

我们可以把 PNOT P 的所有可能完整列出来:

P NOT P
0 1
1 0

NOT P 有时也写作 ¬P,二者都表示对命题 P 取反。

在计算机科学的命题逻辑中,P 代表一句陈述。
到了数字电路中,它也可以代表一根输入线上的逻辑状态。

当这条规则被真正实现为电路时,我们便得到了一扇最简单的逻辑门:

非门(NOT gate),也称为 反相器(inverter)

(像是一个杠精,无论如何都要和你持反意见)

全票通过

非门只有一个输入,因此它只需要负责反对一个人。

不过现实中的大多数问题往往不止一个条件。
假设现在有两个输入 PQ,每个输入都可能是 01
那么一共会出现 2² = 4 种组合。

与门(AND gate) 的规则相当严格:
只有所有输入都为 1 时,它才会输出 1。只要其中一个输入为 0,结果就是 0

P Q P AND Q
0 0 0
0 1 0
1 0 0
1 1 1

如果 P 表示“密码正确”,Q 表示“验证码正确”,那么 P AND Q 表示的就是:

密码与验证码全部正确。

少一个都不行。

(与门大概是那种喜欢连坐的老师,只要有一个人当搅屎棍就直接选择给全班人创死)

我觉得或许还行?

或门(OR gate) 就显得比较随和了。
它对输入的要求相当宽松:只要两个输入中至少有一个为 1,它就会输出 1
只有当两个输入都为 0 时,它才会输出 0

P Q P OR Q
0 0 0
0 1 1
1 0 1
1 1 1

(或许它自己就觉得 1 是个不错的选择,只需要有一个人支持它的观点罢了。)

值得注意的是,或门并不要求两个输入“二选一”。

PQ 同时为 1 时,P OR Q 仍然是 1
这种“至少一个成立,也允许全部成立”的关系,称为 包含或(inclusive OR)

但如果规则要求两个输入中只能有一个为 1 呢?

那就需要一扇稍微难伺候一点的门了。

王不见王

普通的或门只要求 “至少有一个”,至于到底来了一个还是两个,它并不在乎。

异或门(XOR gate,exclusive OR) 的要求更加严格:两个输入中必须恰好有一个为 1,它才会输出 1

或者说点更人话的:

两个输入不同时,异或门输出 1;两个输入相同时,异或门输出 0

P Q P XOR Q
0 0 0
0 1 1
1 0 1
1 1 0

异或运算也经常写作 P ⊕ Q
(尽管电脑上不是很好直接打出这个字符就是了)

不过在许多编程语言中,按位异或则使用更加方便输入的 ^,例如 P ^ Q
(人类最终还是向键盘作出了妥协。)

如果把 1 看作一位独占欲极强的“王”,那么异或门的规矩便相当直白:
来一个,可以;一个都不来,不行;两个同时来,更不行。

(没有王不行,有两个王也不行,算是仇家来的。)