紅石計算機還是比較難的,作者之前也沒有基礎,花了四個小時才完全弄懂其中的原理,加上文字描述晦澀的原因,我們分開講。
這一章,我們先講講加法器和全加器。
加法器是計算機進行運算的基礎,在計算機中,沒有所謂的“減法器”“乘法器”和“除法器”,都是依靠加法器的排布進行的四則運算。
聽不明白沒關係,後麵會明白的。
首先,我們先來說說加法器。
加法器使用二進製進行運算,也就是說,我們的加法器隻有兩個數字,“0”和“1”,正如十進製不會出現單獨表示“十”的單個字符一樣,二進製同樣不會出現表示“二”的單個字符,“二”在二進製中表示為“10”。(這裏可以自己去互聯網找關於二進製的解釋)
眾所周知,紅石信號與現實中的電路信號原理完全相同,也就是說我們可以用紅石信號製造出現實中的電路。
那麼仿照現實中的加法器,我們如下製造:
建立空間直角坐標係
黃色陶瓦:
(0,0,1)(0,0,4)(0,1,1)(0,2,2)(0,1,4)(0,3,3)(0,4,4)(—1,0,2)(—1,1,3)(—1,2,2)(—1 ,1,1)(—1,2,0)(—1,3,1)
紅石放在:
(—1,0,2)(—1,2,0)(0,1,1)(0,1,4)(0,3,3)(0,4,4)的方塊上
紅石中繼器放在:
(—1,1,1)的方塊上,朝向x正半軸,檔位為1檔。
紅石火把放在:
(0,0,1)的x負半軸上
(0,0,1)正上方
(0,0,4)的x負半軸上
(0,0,4)的正上方
(0,1,4)的y軸正半軸上
(0,2,2)的y軸正半軸上
(—1,3,1)的x軸負半軸上
(—1,1,3)的x軸正半軸上
再將(0,0,1)和(0,0,4)的y軸負半軸作為信號的輸入端,這樣就完成了一個加法器。
(0,4,4)的紅石輸出為單元內信號,(—1,3,1)的紅石火把為進位信號。
也就是說,當兩個輸入端,有任意一個輸入,也就是總表達為0001時,(0,4,4)的紅石信號輸出為亮,當表達式為0010時,此時表示進位,(0,4,4)的信號為暗,(—1,3,1)的信號輸出為亮,最後,兩個輸入端都不輸入信號時,兩個輸出端輸出的信號都是暗。
亮信號表示為1,暗信號表示為0,這就實現了加法係利用二進製進行運算的基本原理。
當然,隻靠加法器是無法完成複雜的運算的,所以我們就需要一個全加器。
方法很簡單,隻需要將兩個加法器一前一後的擺放,然後將後麵的加法器的進位輸出連接至前麵的加法器的下方的輸入端,再將上方表示不進位的(0,4,4)處的信號直接連接下一個加法器的上方輸入端即可。
這樣就是一個全加器了,接下來,隻需要將全加器左右相互聯動,前者的輸出再連接後者的輸入,以此類推就能進行二進製計算了,計算的最大值為:
有n個全加器聯動
能計算的最大值為數列為:
anu003d2^(n—1)
計算得數列和為:
Snu003d2^n—1
本節完
(下一章講減法單元)