第三題: 一個數值在儲存到電腦記憶體內部之前,會先被轉換成二進位系統。一個數值使用定點法(fixed-point)表示儲存成一個整數,另外,以浮點法(floating-point)表示將一個數值儲存成一個實數。請回答下列問題:
(一)一個整數儲存在記憶體中通常是使用定點法表示,其中,2 補數(2’s complement) 是常在計算機科學中用來儲存一個 n 位元記憶體位置的有號(Signed)整數。請問:
補數表示法在計算機科學中具有以下主要優點:
簡化減法運算:
單一零表示:
符號位一致性:
相比 1 補數表示法,2 補數表示法具有以下優勢:
消除雙重零表示:
更簡單的加減法運算:
自動處理進位:
| 優點 | 2 補數表示法 | 1 補數表示法 |
|---|---|---|
| 單一零表示 | 是(只有一種零) | 否(有 +0 和 -0) |
| 加減法簡化 | 是(減法轉換為加法) | 否(需特別處理進位) |
| 符號位一致性 | 是(符號位與數值位統一處理) | 否(需單獨處理符號位) |
| 自動處理進位 | 是(最高位進位自然捨棄) | 否(需要額外處理) |
假設我們使用 4 位元來表示數字:
進行減法運算(7 - 5):
相加:0111 + 1011 = 10010,丟棄最高位,結果為 0010,即為 2。
假設我們使用 4 位元來表示數字:
進行減法運算(7 - 5):
相加:0111 + 1010 = 10001,丟棄最高位並加上進位,結果為 0010,即為 2,但需要額外處理進位和符號。
2 補數表示法在計算機科學中比 1 補數更為優越,因為它提供了單一的零表示,簡化了加減法運算,並自動處理進位。這使得硬體設計更為簡單和高效,適合現代計算機系統的數據處理需求。