
- 數位電子教程
- 數位電子 - 首頁
- 數位電子基礎
- 數字系統型別
- 訊號型別
- 邏輯電平與脈衝波形
- 數字系統元件
- 數字邏輯運算
- 數字系統優勢
- 數制
- 數制
- 二進位制數表示
- 二進位制運算
- 有符號二進位制運算
- 八進位制運算
- 十六進位制運算
- 補碼運算
- 進位制轉換
- 進位制轉換
- 二進位制轉換為十進位制
- 十進位制轉換為二進位制
- 二進位制轉換為八進位制
- 八進位制轉換為二進位制
- 八進位制轉換為十進位制
- 十進位制轉換為八進位制
- 十六進位制轉換為二進位制
- 二進位制轉換為十六進位制
- 十六進位制轉換為十進位制
- 十進位制轉換為十六進位制
- 八進位制轉換為十六進位制
- 十六進位制轉換為八進位制
- 二進位制編碼
- 二進位制編碼
- 8421 BCD碼
- 餘3碼
- 格雷碼
- ASCII碼
- EBCDIC碼
- 編碼轉換
- 錯誤檢測與糾錯碼
- 邏輯閘
- 邏輯閘
- 與門
- 或門
- 非門
- 通用門
- 異或門
- 異或非門
- CMOS邏輯閘
- 使用二極體電阻邏輯的或門
- 與門與或門
- 兩級邏輯實現
- 閾值邏輯
- 布林代數
- 布林代數
- 布林代數定律
- 布林函式
- 德摩根定理
- SOP和POS形式
- POS到標準POS形式
- 最小化技術
- 卡諾圖化簡
- 三變數卡諾圖
- 四變數卡諾圖
- 五變數卡諾圖
- 六變數卡諾圖
- 無關項
- 奎因-麥克斯拉斯基方法
- 最小項和最大項
- 規範式和標準式
- 最大項表示
- 使用布林代數化簡
- 組合邏輯電路
- 數字組合電路
- 數字運算電路
- 多路複用器
- 多路複用器設計流程
- MUX通用門
- 使用4:1 MUX的2變數函式
- 使用8:1 MUX的3變數函式
- 多路分解器
- MUX與DEMUX
- 奇偶校驗位生成器和校驗器
- 比較器
- 編碼器
- 鍵盤編碼器
- 優先編碼器
- 譯碼器
- 算術邏輯單元
- 7段LED顯示器
- 程式碼轉換器
- 程式碼轉換器
- 二進位制到十進位制轉換器
- 十進位制到BCD轉換器
- BCD到十進位制轉換器
- 二進位制到格雷碼轉換器
- 格雷碼到二進位制轉換器
- BCD到餘3碼轉換器
- 餘3碼到BCD轉換器
- 加法器
- 半加器
- 全加器
- 序列加法器
- 並行加法器
- 使用半加器的全加器
- 半加器與全加器
- 使用與非門的全加器
- 使用與非門的半加器
- 二進位制加減法器
- 減法器
- 半減器
- 全減器
- 並行減法器
- 使用兩個半減器的全減器
- 使用與非門的半減器
- 時序邏輯電路
- 數字時序電路
- 時鐘訊號和觸發
- 鎖存器
- 移位暫存器
- 移位暫存器應用
- 二進位制暫存器
- 雙向移位暫存器
- 計數器
- 二進位制計數器
- 非二進位制計數器
- 同步計數器設計
- 同步計數器與非同步計數器
- 有限狀態機
- 演算法狀態機
- 觸發器
- 觸發器
- 觸發器轉換
- D觸發器
- JK觸發器
- T觸發器
- SR觸發器
- 帶時鐘的SR觸發器
- 無時鐘的SR觸發器
- 帶時鐘的JK觸發器
- JK到T觸發器
- SR到JK觸發器
- 觸發方法:觸發器
- 邊沿觸發觸發器
- 主從JK觸發器
- 競爭冒險現象
- A/D和D/A轉換器
- 模數轉換器
- 數模轉換器
- DAC和ADC積體電路
- 邏輯閘的實現
- 用與非門實現非門
- 用與非門實現或門
- 用與非門實現與門
- 用與非門實現或非門
- 用與非門實現異或門
- 用與非門實現異或非門
- 用或非門實現非門
- 用或非門實現或門
- 用或非門實現與門
- 用或非門實現與非門
- 用或非門實現異或門
- 用或非門實現異或非門
- 使用CMOS的與非/或非門
- 使用與非門的全減器
- 使用2:1 MUX的與門
- 使用2:1 MUX的或門
- 使用2:1 MUX的非門
- 儲存器件
- 儲存器件
- RAM和ROM
- 快取儲存器設計
- 可程式設計邏輯器件
- 可程式設計邏輯器件
- 可程式設計邏輯陣列
- 可程式設計陣列邏輯
- 現場可程式設計門陣列
- 數字電子系列
- 數字電子系列
- CPU架構
- CPU架構
- 數位電子資源
- 數位電子 - 快速指南
- 數位電子 - 資源
- 數位電子 - 討論
有符號二進位制運算
在本章中,我們將討論基本算術運算,這些運算可以使用2的補碼方法對任何兩個有符號二進位制數執行。**基本算術運算**包括加法和減法。
兩個有符號二進位制數的加法
考慮兩個以2的補碼形式表示的有符號二進位制數A和B。我們可以執行這兩個數的**加法**,這類似於兩個無符號二進位制數的加法。但是,如果結果和包含來自符號位的進位,則為了獲得正確的值,請將其丟棄(忽略)。
如果結果和為正,則可以直接找到其大小。但是,如果結果和為負,則取其2的補碼以獲得其大小。
示例1
讓我們使用2的補碼方法執行兩個十進位制數**+7和+4**的**加法**。
下面顯示了+7和+4分別用5位表示的**2的補碼**。
$$\mathrm{(+7)_{10} \: = \: (00111)_{2}}$$
$$\mathrm{(+4)_{10} \: = \: (00100)_{2}}$$
這兩個數的加法是
$$\mathrm{(+7)_{10} \: + \: (+4)_{10} \: = \: (00111)_{2} \: + \: (00100)_{2}}$$
$$\mathrm{\Rightarrow \: (+7)_{10} \: + \: (+4)_{10} \: = \: (01011)_{2}}$$
結果和包含5位。因此,沒有來自符號位的進位。符號位“0”表示結果和為**正**。因此,和的大小在十進位制數系統中為11。因此,兩個正數的加法將得到另一個正數。
示例2
讓我們使用2的補碼方法執行兩個十進位制數**-7**和**-4**的**加法**。
下面顯示了-7和-4分別用5位表示的**2的補碼**。
$$\mathrm{(−7)_{10} \: = \: (11001)_{2}}$$
$$\mathrm{(−4)_{10} \: = \: (11100)_{2}}$$
這兩個數的加法是
$$\mathrm{(−7)_{10} \: + \: (−4)_{10} \: = \: (11001)_{2} \: + \: (11100)_{2}}$$
$$\mathrm{\Rightarrow \: (−7)_{10} \: + \: (−4)_{10} \: = \: (110101)_{2}}$$
結果和包含6位。在這種情況下,從符號位獲得進位。因此,我們可以將其刪除
刪除進位後的結果和為(−7)10 + (−4)10 = (10101)2。
符號位“1”表示結果和為**負**。因此,透過取其2的補碼,我們將得到結果和的大小在十進位制數系統中為11。因此,兩個負數的加法將得到另一個負數。
兩個有符號二進位制數的減法
考慮兩個以2的補碼形式表示的有符號二進位制數A和B。我們知道正數的2的補碼得到一個負數。因此,每當我們必須從數A中減去數B時,取B的2的補碼並將其加到A。因此,**數學上**我們可以寫成
A - B = A + (B的2的補碼)
類似地,如果我們必須從數B中減去數A,則取A的2的補碼並將其加到B。因此,**數學上**我們可以寫成
B - A = B + (A的2的補碼)
因此,兩個有符號二進位制數的減法類似於兩個有符號二進位制數的加法。但是,我們必須取要減去的數的2的補碼。這是2的補碼技術的**優點**。遵循兩個有符號二進位制數加法的相同規則。
示例1
讓我們使用2的補碼方法執行兩個十進位制數**+7和+4**的**減法**。
這兩個數的減法是
$$\mathrm{(+7)_{10} \: − \: (+4){10} \: = \: (+7)_{10} \: + \: (−4)_{10}}$$
下面顯示了+7和-4分別用5位表示的**2的補碼**。
$$\mathrm{(+7)_{10} \: = \: (00111)_{2}}$$
$$\mathrm{(+4)_{10} \: = \: (11100)_{2}}$$
$$\mathrm{\Rightarrow \: (+7)_{10} \: + \: (+4)_{10} \: = \: (00111)_{2} \: + \: (11100)_{2} \: = \: (00011)_{2}}$$
這裡,從符號位獲得進位。因此,我們可以將其刪除。刪除進位後的結果和為
$$\mathrm{(+7)_{10} \: + \: (+4)_{10} \: = \: (00011)_{2}}$$
符號位“0”表示結果和為**正**。因此,其大小在十進位制數系統中為3。因此,十進位制數+7和+4的減法為+3。
示例2
讓我們使用2的補碼方法執行兩個十進位制數**+4**和**+7**的**減法**。
這兩個數的減法是
$$\mathrm{(+4)_{10} \: − \: (+7)_{10} \: = \: (+4)_{10} \: + \: (−7)_{10}}$$
下面顯示了+4和-7分別用5位表示的**2的補碼**。
$$\mathrm{(+4)_{10} \: = \: (00100)_{2}}$$
$$\mathrm{(-7)_{10} \: = \: (11001)_{2}}$$
$$\mathrm{\Rightarrow \: (+4)_{10} \: + \: (-7)_{10} \: = \: (00100)_{2} \: + \: (11001)_{2} \: = \: (11101)_{2}}$$
這裡,沒有從符號位獲得進位。符號位“1”表示結果和為**負**。因此,透過取其2的補碼,我們將得到結果和的大小在十進位制數系統中為3。因此,十進位制數+4和+7的減法為-3。