在4-bit的二補數系統中,整數的範圍是從-8到+7。這是因為最高位(最左邊的位)被用作符號位,其中0表示正數,而1表示負數。剩下的三位用於表示數值。在這個系統中,+7是最大的正數,而-8是最小的負數。
二補數的一個重要特性是,正數的表示與其在普通的二進位系統中的表示相同,而負數的表示是其絕對值的二進位表示取反(每個位都變成相反的值)後加1。
先看一下如何用4位二補數表示+1和+7:
+1的4位二補數表示為:0001
+7的4位二補數表示為:0111
接下來,我們將這兩個數相加:
markdown
Copy code
0001
+ 0111
------
1000
結果是1000。在4位二補數系統中,1000表示的是-8。這看似與期望的+8相矛盾,因為我們在不超過正數範圍的前提下進行了加法運算。然而,這其實是一個溢出的例子。在4-bit的二補數系統中,我們無法表示+8,因為最大的正數是+7。當結果超出這個範圍時,就會發生溢出,導致結果出現看似不合理的值。
所以,雖然從數學上1+7等於8,但在限定為4位二補數表示時,結果1000實際上是表示溢出了,並被解釋為-8。這反映了在有限位數的二補數系統中工作時必須小心處理數值範圍和溢出的情況。