1. 程式人生 > >計算機實現原理專題--二進位制減法器(二)

計算機實現原理專題--二進位制減法器(二)

計算機實現原理專題--二進位制減法器(一)中說明了基本原理,現準備說明如何來實現。

首先第一步255-b運算相當於對b進行按位取反,因此可將8個非門組成如下圖的形式:

由於每次做減法時,我們可以人為的判斷被減數和減數的大小,所以當被減數大於減數時中間結果一定會上溢也就是多出1位,因此中間結果最多會有9位,而最終只要去掉最高位剩下的8位就是最後結果(這裡雖然是減法運算,但是實際上並沒有減法,因此在使用前面所說的加法器運算時可以直接忽略最後的進位)。

當被減數小於減數時中間結果會出現負數,最後需要顛倒兩數進行相減(實際上是對原值進行取反,然後通過比較器可知結果為負)。

但是如果想讓計算器來判斷被減數和減數的大小,又改如何設計呢?其實到目前為止我們可以做出一個兩位數的加法器和減法器了,只不過在實現減法的時候還需要人工判斷一下兩數