逻辑门 怎么工作
到目前为止,我们用0和1存下了数字,也存下了文字。可计算机不只是存东西的机器,它还会判断“是”或“不是”。这一课我们就来追一追,这种判断是从哪里开始的。
两个输入,一个输出
计算机的所有判断,都从一种叫逻辑门的小零件开始。
逻辑门把开关当作输入,按照固定的规则输出一个开或关。
下面你可以亲手打开、关上三种基本逻辑门的输入。
“门”这个名字,来自它像门一样让信号通过或把信号挡住。
打开或关上输入开关,每个门的输出马上就变。
你刚才摆弄的,就是组成计算机的最小判断单位。
这些零件做的事,只是按照固定的规则把开和关变一变。
规则不会变,也不会累,所以输入一样,答案就永远一样。
与、或、非
三种门的脾气各不相同。
AND(与)很挑剔,两个输入都开着才会开。
OR(或)很随和,只要有一个开着就开。
NOT(非)像个唱反调的,把进来的信号反过来。
而且和另外两个不同,NOT只接收一个输入。
AND · 且
像要同时握住两个把手才启动的安全装置,两个都开才开。
OR · 或
像前门后门只要开一扇就能进,一个开就开。
NOT · 非
按下就灭、松开就亮的对着干。把进来的信号反着翻过来。
三种门各自怎样对待输入。
基本的门只有这三种。
令人惊讶的是,世界上所有计算机做的判断,都是把这三种门混合起来搭成的。
条件再多的判断,归根结底也是“是”和“不是”的组合,所以有这三种就能一个不漏地表示出来。
把所有情况列成一张表
门的规则可以整整齐齐地列成一张表。
两个输入各有开、关两种状态,可能的情况正好四种,把每种情况的输出写下来就行。
这张表叫作真值表。
每多一个输入,情况数就翻一倍:三个输入有八行,四个输入有十六行。
| 输入A | 输入B | 输出 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
AND门的真值表。
一看表,规则就清清楚楚。
AND只有在两个输入都开着的最后一行,输出才是开。
OR的表正好反过来:只有两个都关着的第一行是关,其余三行都是开。
看起来复杂的判断,说到底也能用几张这样的表来说明。
把门连起来,就更聪明
一个门很简单,可把好几个连起来,就能做出复杂得多的判断。
两个输入“不一样时才开”的判断就是个好例子。
这一个门做不到,但把几个门连起来就行。
判断两个值是否不同的这一块,正是比较两个值、把两个值相加时要用的零件。
只有输入不同时才开的组合。
把这些简单的门一层层搭起来,就成了能加数、能记住数值的电路,最后成了CPU。
下一课我们就用这些门来做一台加法机器。
神奇的是,从这里开始再也不需要新零件。
变的只是同样三种门用多少个、怎么连。