在此之前,必须了解几个电器元件,如下分别为:
与门(即为一个串联电路)----
或门(并联)----
与非门(串联后面加一个反相器,使输出0变1,1变0)----
计算机是怎样运行加法运算的?
都知道计算机是二进制码运算的,二进制的计算公式是:
0+0=0
0+1=1
1+0=1
1+1=10---->相当于01+01=10
联想到电路里面,对于一个电路(如上图),
A,B为输入点,假设有电流计作0,无电流计作1。
那么,针对与门:
只有A,B都输入为1就能通电(即输出为1),如下
0+0=0
0+1=0
1+0=0
1+1=1
针对或门:
只要A,B任意一个输入为1,就能通电(即输出为1),如下
0+0=0
0+1=1
1+0=1
1+1=1
针对与非门:
只有A,B输入都为0,就能通电(即输出为1),如下
0+0=1
0+1=0
1+0=0
1+1=0
仔细对照可见“或门”的I/O(输入输出),输入一样,输出和“计算机的运算结果”的进位完全吻合0,1,1,1。
那么计算的进位可以用“与门”代替,尾数如何解决?
尾数和I/O的对应关系必须是:
0+0=0,
0+1=1,
1+0=1,
1+1=0.
这样的话,一个并联电路显然是不够的,在此,前人们的智慧可见一斑,设计出令人佩服的电路,如下:
先只看电路红色虚线上面的部分,
当a=0,b=0时,输出为0,
a=0,b=1时,输出为1,
a=1,b=0时,输出为1,
a=1,b=1时,输出为0,
正好表示出我们想要的尾数部分。
而红色虚线下面是一个与门,正好表示进位的部分。这样用一个电路正好组装成计算机的最简单加法的原理。
这也就是计算机最底层的计算方式,只是当年用的是无数个继电器和灯泡,而现在用的是“超大规模集成电路”,其实原理是一样的!