前情概要
前面1-8有提到二補數有一個優點:由於 A-B=A+(-B),因此可以直接沿用正數相加的電路,不用另外建一個新的。
以下針對這點進行說明
二補數的計算特點
舉例1
27-14 = 27+(-14)
// 取2補數
27 = 011011
-14 = 110010
// 相加,十進位是碰到十就要進一位數,二進位就是碰到二要進一位數
27 = 011011
+ -14 = 110010
----------------
1001101
// 我們是採用6bit表示,值相加後發現最左邊多一個bit出來,依照前面所說有進位要捨去
001101 = 13
舉例2
// 取2補數
(00010110)₂-(00100111)₂
= (00010110)₂ + -(00100111)₂
= (00010110)₂ + (11011001)₂
// 相加
00010110
+ 11011001
----------------
11101111
// 我們是採用8bit表示
11101111 = -(00010001) = -17
舉例3
// 取2補數
5 = 0101
// 相加
0101
+ 0101
----------------
1010
// 我們是採用4bit表示,二補數能顯示的範圍為-8到7(1-9提過)
// 5+5的值為10已經超出他可以儲存的範圍,這種狀況我們稱為溢位(overflow)
1010 = -(0110) = -6(mod16)
分類會依照第一篇介紹的分類架構來進行
由於是將學習過程記錄下來,如果有任何錯誤歡迎糾正
以下參考連結在學習過程中覺得非常有幫助:
-進制簡介
-台大線上課程