seegongsik
结构

逻辑门 怎么工作

到目前为止,我们用0和1存下了数字,也存下了文字。可计算机不只是存东西的机器,它还会判断“是”或“不是”。这一课我们就来追一追,这种判断是从哪里开始的。

01

两个输入,一个输出

计算机的所有判断,都从一种叫逻辑门的小零件开始。
逻辑门把开关当作输入,按照固定的规则输出一个开或关。
下面你可以亲手打开、关上三种基本逻辑门的输入。
“门”这个名字,来自它像门一样让信号通过或把信号挡住。

0
0
AND
0
两个都开才开

打开或关上输入开关,每个门的输出马上就变。

你刚才摆弄的,就是组成计算机的最小判断单位。
这些零件做的事,只是按照固定的规则把开和关变一变。
规则不会变,也不会累,所以输入一样,答案就永远一样。

02

与、或、非

三种门的脾气各不相同。
AND(与)很挑剔,两个输入都开着才会开。
OR(或)很随和,只要有一个开着就开。
NOT(非)像个唱反调的,把进来的信号反过来。
而且和另外两个不同,NOT只接收一个输入。

AND · 且

像要同时握住两个把手才启动的安全装置,两个都开才开。

OR · 或

像前门后门只要开一扇就能进,一个开就开。

NOT · 非

按下就灭、松开就亮的对着干。把进来的信号反着翻过来。

三种门各自怎样对待输入。

基本的门只有这三种。
令人惊讶的是,世界上所有计算机做的判断,都是把这三种门混合起来搭成的。
条件再多的判断,归根结底也是“是”和“不是”的组合,所以有这三种就能一个不漏地表示出来。

03

把所有情况列成一张表

门的规则可以整整齐齐地列成一张表。
两个输入各有开、关两种状态,可能的情况正好四种,把每种情况的输出写下来就行。
这张表叫作真值表。
每多一个输入,情况数就翻一倍:三个输入有八行,四个输入有十六行。

输入A输入B输出
000
010
100
111

AND门的真值表。

一看表,规则就清清楚楚。
AND只有在两个输入都开着的最后一行,输出才是开。
OR的表正好反过来:只有两个都关着的第一行是关,其余三行都是开。
看起来复杂的判断,说到底也能用几张这样的表来说明。

04

把门连起来,就更聪明

一个门很简单,可把好几个连起来,就能做出复杂得多的判断。
两个输入“不一样时才开”的判断就是个好例子。
这一个门做不到,但把几个门连起来就行。
判断两个值是否不同的这一块,正是比较两个值、把两个值相加时要用的零件。

0
0
彼此 不同?
0
彼此相同,所以关了

只有输入不同时才开的组合。

把这些简单的门一层层搭起来,就成了能加数、能记住数值的电路,最后成了CPU。
下一课我们就用这些门来做一台加法机器。
神奇的是,从这里开始再也不需要新零件。
变的只是同样三种门用多少个、怎么连。

一句话总结计算机的所有判断,都从与、或、非这三种门开始。把这些小零件搭起来,计算也好,记忆也好,全都能做出来。
← 结构
如果有帮助,请支持我们