
- 數位電子教程
- 數位電子 - 首頁
- 數位電子基礎
- 數字系統型別
- 訊號型別
- 邏輯電平和脈衝波形
- 數字系統元件
- 數字邏輯運算
- 數字系統優勢
- 數制
- 數制
- 二進位制數表示
- 二進位制算術
- 帶符號二進位制算術
- 八進位制算術
- 十六進位制算術
- 補碼算術
- 進位制轉換
- 進位制轉換
- 二進位制轉十進位制
- 十進位制轉二進位制
- 二進位制轉八進位制
- 八進位制轉二進位制
- 八進位制轉十進位制
- 十進位制轉八進位制
- 十六進位制轉二進位制
- 二進位制轉十六進位制
- 十六進位制轉十進位制
- 十進位制轉十六進位制
- 八進位制轉十六進位制
- 十六進位制轉八進位制
- 二進位制碼
- 二進位制碼
- 8421 BCD碼
- 餘三碼
- 格雷碼
- ASCII碼
- EBCDIC碼
- 碼制轉換
- 檢錯糾錯碼
- 邏輯閘
- 邏輯閘
- 與門
- 或門
- 非門
- 通用門
- 異或門
- 異或非門
- CMOS邏輯閘
- 使用二極體電阻邏輯的或門
- 與門與或門
- 兩級邏輯實現
- 閾值邏輯
- 布林代數
- 布林代數
- 布林代數定律
- 布林函式
- 德摩根定理
- SOP和POS形式
- POS到標準POS形式
- 最小化技術
- 卡諾圖化簡
- 三變數卡諾圖
- 四變數卡諾圖
- 五變數卡諾圖
- 六變數卡諾圖
- 無關項
- 奎因-麥克斯拉斯基法
- 最小項和最大項
- 規範式和標準式
- 最大項表示
- 使用布林代數化簡
- 組合邏輯電路
- 數字組合電路
- 數字算術電路
- 多路複用器
- 多路複用器設計過程
- 多路複用器通用門
- 使用4:1多路複用器的2變數函式
- 使用8:1多路複用器的3變數函式
- 多路分解器
- 多路複用器與多路分解器
- 奇偶校驗位發生器和校驗器
- 比較器
- 編碼器
- 鍵盤編碼器
- 優先編碼器
- 譯碼器
- 算術邏輯單元
- 7段LED顯示器
- 程式碼轉換器
- 程式碼轉換器
- 二進位制轉十進位制轉換器
- 十進位制轉BCD轉換器
- BCD轉十進位制轉換器
- 二進位制轉格雷碼轉換器
- 格雷碼轉二進位制轉換器
- BCD轉餘三碼轉換器
- 餘三碼轉BCD轉換器
- 加法器
- 半加器
- 全加器
- 序列加法器
- 並行加法器
- 使用半加器的全加器
- 半加器與全加器
- 使用與非門的全加器
- 使用與非門的半加器
- 二進位制加法/減法器
- 減法器
- 半減器
- 全減器
- 並行減法器
- 使用兩個半減器的全減器
- 使用與非門的半減器
- 時序邏輯電路
- 數字時序電路
- 時鐘訊號和觸發
- 鎖存器
- 移位暫存器
- 移位暫存器應用
- 二進位制暫存器
- 雙向移位暫存器
- 計數器
- 二進位制計數器
- 非二進位制計數器
- 同步計數器設計
- 同步計數器與非同步計數器
- 有限狀態機
- 演算法狀態機
- 觸發器
- 觸發器
- 觸發器轉換
- D觸發器
- JK觸發器
- T觸發器
- SR觸發器
- 帶時鐘SR觸發器
- 無時鐘SR觸發器
- 帶時鐘JK觸發器
- JK觸發器轉T觸發器
- SR觸發器轉JK觸發器
- 觸發方式:觸發器
- 邊沿觸發觸發器
- 主從JK觸發器
- 競爭冒險現象
- A/D和D/A轉換器
- 模數轉換器
- 數模轉換器
- DAC和ADC積體電路
- 邏輯閘的實現
- 用與非門實現非門
- 用與非門實現或門
- 用與非門實現與門
- 用與非門實現與非門
- 用與非門實現異或門
- 用與非門實現異或非門
- 用或非門實現非門
- 用或非門實現或門
- 用或非門實現與門
- 用或非門實現與非門
- 用或非門實現異或門
- 用或非門實現異或非門
- 使用CMOS的與非/或非門
- 使用與非門的全減器
- 使用2:1多路複用器的與門
- 使用2:1多路複用器的或門
- 使用2:1多路複用器的非門
- 儲存器件
- 儲存器件
- RAM和ROM
- 快取記憶體設計
- 可程式設計邏輯器件
- 可程式設計邏輯器件
- 可程式設計邏輯陣列
- 可程式設計陣列邏輯
- 現場可程式設計門陣列
- 數字電子系列
- 數字電子系列
- CPU架構
- CPU架構
- 數位電子資源
- 數位電子 - 快速指南
- 數位電子 - 資源
- 數位電子 - 討論
數字算術電路
本章我們將討論基本的算術電路,例如二進位制加法器和二進位制減法器。這些電路可以使用二進位制值0和1進行操作。
二進位制加法器
最基本的算術運算就是加法。執行兩個二進位制數相加的電路稱為二進位制加法器。首先,讓我們實現一個加法器,它執行兩個位的加法。
半加器
半加器是一個組合電路,它執行兩個二進位制數A和B的加法,其中A和B為一位。它產生兩個輸出:和S和進位C。
半加器的真值表如下所示。
輸入 | 輸出 | ||
---|---|---|---|
A | B | C | S |
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 0 |
當我們進行兩位的加法時,結果和的值範圍在十進位制的0到2之間。我們可以用二進位制的一位來表示十進位制數字0和1。但是,我們不能用二進位制的一位來表示十進位制數字2。因此,我們需要兩位來用二進位制表示它。
設和S為最低有效位,進位C為結果和的最高有效位。對於前三種輸入組合,進位C為零,S的值將根據輸入中1的個數為零或一。但是,對於最後一種輸入組合,進位C為一,和S為零,因為結果和為二。
從真值表中,我們可以直接寫出每個輸出的布林函式為
$$\mathrm{S \: = \: A \: \oplus \: B}$$
$$\mathrm{C \: = \: AB}$$
我們可以用一個2輸入異或門和一個2輸入與門來實現上述函式。半加器的電路圖如下所示。

在上面的電路中,一個二輸入異或門和一個二輸入與門分別產生和S和進位C。因此,半加器執行兩位的加法。
全加器
全加器是一個組合電路,它執行三位A、B和Cin的加法。其中,A和B是兩位並行有效位,Cin是從前一級產生的進位位。這個全加器也產生兩個輸出:和S和進位Cout,它們與半加器類似。
全加器的真值表如下所示。
輸入 | 輸出 | |||
---|---|---|---|---|
A | B | Cin | Cout | S |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 1 |
0 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 0 |
1 | 1 | 1 | 1 | 1 |
當我們進行三位數的加法時,結果和的值範圍在十進位制的0到3之間。我們可以用二進位制的一位來表示十進位制數字0和1。但是,我們不能用二進位制的一位來表示十進位制數字2和3。因此,我們需要兩位來用二進位制表示這兩個十進位制數字。
設和S為最低有效位,進位Cout為結果和的最高有效位。很容易在真值表中填寫所有輸入組合的輸出值。只需計算輸入中1的個數並在輸出處寫入等效的二進位制數。如果Cin等於零,則全加器的真值表與半加器的真值表相同。
化簡後,我們將得到每個輸出的以下布林函式。
$$\mathrm{S \: = \: A \: \oplus \: B \: \oplus \: C_{in}}$$
$$\mathrm{c_{out} \: = \: AB \: + \: \left ( A \: \oplus \: B \right ) \: c_{in}}$$
當輸入中存在奇數個1時,和S等於1。我們知道異或門產生一個奇函式輸出。因此,為了產生和S,我們可以使用兩個2輸入異或門或一個3輸入異或門。我們可以使用兩個2輸入與門和一個或門來實現進位Cout。全加器的電路圖如下所示。

這個加法器被稱為全加器,因為實現一個全加器需要兩個半加器和一個或門。如果Cin為零,則全加器變為半加器。我們可以從上面的電路圖或全加器輸出的布林函式中很容易地驗證這一點。
4位二進位制加法器
4位二進位制加法器執行兩個4位數的加法。設4位二進位制數為$\mathrm{A \: = \: A_{3}A_{2}A_{1}A_{0}}$和$\mathrm{B \: = \: B_{3}B_{2}B_{1}B_{0}}$。我們可以透過以下兩種方法之一來實現4位二進位制加法器。
- 使用一個半加器來進行兩位最低有效位的加法,並使用三個全加器來進行三位更高有效位的加法。
- 為了一致性,使用四個全加器。由於初始進位Cin為零,用於新增最低有效位的全加器變為半加器。
目前,我們考慮第二種方法。4位二進位制加法器的框圖如下所示。

此處,4個全加器級聯。每個全加器接收兩個並行輸入 A 和 B 的相應位。一個全加器的進位輸出將作為下一個更高位全加器的進位輸入。這個 4 位二進位制加法器產生的結果和最多有 5 位。因此,最後一個階段全加器的進位輸出將是最高有效位 (MSB)。
透過這種方式,我們可以透過級聯所需數量的全加器來實現任何更高位的二進位制加法器。這種二進位制加法器也稱為行波進位(二進位制)加法器,因為進位從一個階段傳播(漣漪)到下一個階段。
二進位制減法器
執行兩個二進位制數減法的電路稱為二進位制減法器。我們可以透過以下兩種方法實現二進位制減法器。
- 級聯全減器
- 補碼法
在第一種方法中,我們將透過級聯 'n' 個全減器來得到一個 n 位二進位制減法器。因此,首先您可以實現半減器和全減器,類似於半加器和全加器。然後,您可以透過級聯 'n' 個全減器來實現 n 位二進位制減法器。因此,我們將有兩個獨立的電路用於兩個二進位制數的二進位制加法和減法。
在第二種方法中,我們可以使用相同的二進位制加法器進行兩個二進位制數的減法,只需對第二個輸入進行一些修改即可。因此,內部執行二進位制加法運算,但輸出是結果減法。
我們知道,兩個二進位制數 A 和 B 的減法可以寫成:
$$A-B = A + (B 的 2 的補碼)$$
$$=> A - B = A + (B 的 1 的補碼) + 1$$
4 位二進位制減法器
4 位二進位制減法器產生兩個 4 位數的減法結果。設 4 位二進位制數為,$A = A_3A_2A_1A_0$ 和 $B = B_3B_2B_1B_0$。內部,4 位二進位制減法器的操作類似於 4 位二進位制加法器。如果將二進位制數 A 的普通位、二進位制數 B 的反碼位和初始進位 (借位) Cin 作為 1 應用於 4 位二進位制加法器,則它將成為 4 位二進位制減法器。下圖顯示了 4 位二進位制減法器的框圖。

這個 4 位二進位制減法器產生一個輸出,最多有 5 位。如果二進位制數 A 大於二進位制數 B,則輸出的 MSB 為零,其餘位儲存 A-B 的大小。如果二進位制數 A 小於二進位制數 B,則輸出的 MSB 為一。因此,為了獲得 A-B 的大小,請取輸出的 2 的補碼。
透過這種方式,我們可以透過級聯所需數量的全加器並進行必要的修改來實現任何更高位的二進位制減法器。
二進位制加法器/減法器
可以隨時用於執行兩個二進位制數的加法或減法的電路稱為二進位制加法器/減法器。二進位制加法器和二進位制減法器都包含一組級聯的全加器。二進位制數 A 的輸入位直接應用於二進位制加法器和二進位制減法器。
二進位制加法器和二進位制減法器中存在全加器的輸入有兩個區別。
- 在二進位制加法器中,二進位制數 B 的輸入位直接應用於全加器,而在二進位制減法器中,二進位制數 B 的反碼位應用於全加器。
- 在 4 位二進位制加法器中應用初始進位 C0 = 0,而在 4 位二進位制減法器中應用初始進位 (借位) C0 = 1。
我們知道,一個2 輸入異或門產生的輸出與另一個輸入為零時的第一個輸入相同。類似地,當另一個輸入為一時,它會產生一個與第一個輸入互補的輸出。
因此,我們可以將二進位制數 B 的輸入位應用於 2 輸入異或門。所有這些異或門的另一個輸入是 C0。因此,根據 C0 的值,異或門產生二進位制數 B 的普通位或反碼位。
4 位二進位制加法器/減法器
4 位二進位制加法器/減法器根據初始進位或借位 C0 的值產生兩個 4 位數的加法或減法結果。設 4 位二進位制數為,$A = A_3A_2A_1A_0$ 和 $B = B_3B_2B_1B_0$。4 位二進位制加法器/減法器的操作類似於 4 位二進位制加法器和 4 位二進位制減法器。
將二進位制數 A 和 B 的普通位和初始進位或借位 C0 從外部應用於 4 位二進位制加法器。下圖顯示了 4 位二進位制加法器/減法器的框圖。

如果初始進位 C0 為零,則每個全加器都獲得二進位制數 A 和 B 的普通位。因此,4 位二進位制加法器/減法器產生一個輸出,該輸出是兩個二進位制數 A 和 B 的加法結果。
如果初始借位 C0 為一,則每個全加器都獲得二進位制數 A 的普通位和二進位制數 B 的反碼位。因此,4 位二進位制加法器/減法器產生一個輸出,該輸出是兩個二進位制數 A 和 B 的減法結果。
因此,藉助額外的異或門,同一個電路可以用於兩個二進位制數的加法和減法。