乙個簡單的二進位制加法如下:+0
100001101
10我們現在需要把它的結果分為兩位,乙個是加法位,乙個是進製位。分別如下
+加法位01
0011
10+進製位01
0001
01進製位的邏輯跟我們上一章介紹的邏輯與門一樣,這就很好辦了。
加法位跟或門邏輯較相似,除了右下角的0邏輯不一樣。也跟與非門較相似,除了左上角的0的邏輯不一樣。我們把它們組合下
現在的輸入輸出情況如下:
輸入a輸入b
或門輸出
與非門輸出
想要的結果00
0100
1111
1011
1111
00從結果中看出,可以把或門和與非門輸出進行與門邏輯組合,就得到了我們的加法位的正確輸出結果
這種組合就叫做異或門。
現在我們加法的加法位和進製位都可以用電路來表示了,現在組合成的加法器如下:
這種組合就滿足了我們對一位二進位制的加法的需求,下面我們用下面這種簡單的表達方式表達上面的加法器,比較簡單明瞭:
為什麼叫半加器呢,因為目前位置它只能計算一位的加法,而大多數情況下,我們需要計算多位的二進位制加法,它現在還不成熟。
多位加法中,除了第一位,後面每一位的加法都可能跟前面1位的的進1數進行相加。因此除了計算它本身的加法外,還要跟進製進行相加。我們現在把邏輯組合如下
現在我們可以得出乙個完整的二進位制加法中任意一位的邏輯了。既然它成熟了,我們可以把它叫做全加器了。如下:
乙個全加器就完成了。
每個全加器的進製輸出都是都是後面一位的進製輸入,乙個串乙個,第乙個加法的進製輸入為0.最後乙個進製輸出,判斷有沒溢位。
以8位為單位,我們也可以做16位加法,只要兩個8位相連就可以了。
每個與門,或門,與非門都需要兩個繼電器。乙個異或門需要6個繼電器,乙個半加器由乙個異或門和乙個與門組成,那就是8個繼電器。每個全加器由兩個半加器和乙個或門組成,所以需要18個繼電器。而我們計算乙個經常使用的8位加法的時候,我們就需要144個繼電器。
《Code》讀書筆記12 二進位制加法器
讀了 code 第12章 二進位制加法器,用自己的方式來總結一下。計算機cpu本質上也就是積體電路,那麼cpu是怎麼實現最基本的加法的呢?在電路中,只有2種狀態 開 關 對應於二進位制中的1和0 但是我們可以把這2種狀態組合起來,構造成多種邏輯關係。與門 and 通過串聯實現 或門 or 通過併聯實...
如何寫二進位制乘法 如何實現加法器?
最近看了一本書 編碼 如何從頭開始構建一台計算機。從最基礎的莫爾斯編碼到二進位制,基礎電路和布林邏輯運算的神奇結合。產生了目前人類最偉大的發明 計算機。二進位制的提出者是德國數學家萊布尼茨,他和牛頓發現了高等數學中的微積分。用二進位制記數只需要用到0和1兩個符號,逢二進一。我們一般習慣了十進位制,用...
二進位制加法運算
兩個二進位制整數相加時,是位對位處理的,從最低的一對位 右邊 開始,依序將每一對位進行加法運算。兩個二進位制數字相加,有四種結果,如下所示 0 0 0 0 1 1 1 0 1 1 1 10 1 與 1 相加的結果是二進位制的 10 等於十進位制的 2 多出來的數字向更高位產生乙個進製。如下圖所示,兩...