在此之前,必須了解幾個電器元件,如下分別為:
與門(即為一個串聯電路)----
或門(并聯)----
與非門(串聯后面加一個反相器,使輸出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,
正好表示出我們想要的尾數部分。
而紅色虛線下面是一個與門,正好表示進位的部分。這樣用一個電路正好組裝成計算機的最簡單加法的原理。
這也就是計算機最底層的計算方式,只是當年用的是無數個繼電器和燈泡,而現在用的是“超大規模集成電路”,其實原理是一樣的!