结构
把门接起来,就成了会加法的机器
上次做的 且、或、非这几个门。把它们接上几个,神奇的是,就成了会加法的机器。这正是电脑做计算的,那个起点。
01
在0和1的世界里,1+1是10
在把加法做成电路之前,
先看看怎么用0和1来加。
0+0是0,
0+1是1。
到这儿都简单。
可1+1呢?
没有2,
就进一位,变成10。
不是十进制的10,
是二进制的 幺零。
¹
1
+ 1
10
没有2,进位变成10(二进制的幺零)
把两个比特加加看。
也就是说,两个比特一加,
出来两个结果。
一个是留在这位上的值,
一个是递到下一位的值。
这两个分别叫,
和,跟进位。
02
和是XOR,进位是AND
神奇的就在这儿。
刚才那条规则,
用上次的门正好做得出来。
和,只有两个不同时才是1,对吧?
那就是XOR(彼此不同)。
进位,只有两个都是1时才是1,对吧?
那就是AND。
两个门就搞定了。
A
0
B
0
半加器
进位 (AND)
0
和 (XOR)
0
和 = A XOR B · 进位 = A AND B
0 + 0 = 00 (进位 0, 和 0)
半加器 · 把输入打开试试。
把两个比特相加,
给出和跟进位的
这台小机器,
就叫半加器。
就两个门,
做出了世上最简单的,
加法器。
03
把收到的进位也加上,才是真加法
可半加器有个缺口。
加好几位的时候,
从下一位升上来的进位,
也得一起加。
所以输入变成三个。
A、B,
还有从下面收到的进位。
把这些全加起来,就是全加器。
A
0
B
0
收到的进位
0
全加器
进到下一位
0
和
0
0 + 0 + 0 = 00
全加器 · 三个输入。
全加器其实,
是把两个半加器接在一起。
用小零件做出稍大的零件,
再把它接起来,
做更大的。
这就是造电脑的方式。
04
接上好几个,大数也能加
一个全加器,
只加一位。
那四位、八位的数呢?
简单。
把全加器一个挨一个接起来就行。
把一位的进位,
递给旁边那位的输入。
你亲手加两个数试试。
A0
0
0
0
0
+ B0
0
0
0
0
和0
0
0
0
0
0
0 + 0 = 0
把两个数打开来加 (4比特)。
把上面一行和中间一行打开,
最下面一行就自己冒出和来。
不是人在算,
是那些门把进位往旁边递,
自己把答案做出来。
05
加法说到底就是门
电脑会算,
其实不是魔法。
就是把且、或、非这些门,
按定好的样子接起来罢了。
一开开关,
电就顺着门流过去,
答案就亮起灯来。
门(且、或、非)
↓ 接上两个
半加器(一位加法)
↓ 接上两个
全加器(含进位)
↓ 接上好几个
大数的加法
从小的到大的。
就这么从小零件,
长出大本事。
下次,
我们去见一种电流过着、
却能把值攥住的电路,
也就是会记住的电路。
一句话总结我们用两个门解了1+1的进位,再把它们接起来,做出了大数的加法。电脑的计算不是魔法,而是把门巧妙接起来的东西。
← 结构