一:數的表示形式
在生活中表示數的時候一般都是把正數前面加一個“+”,負數前面加一個“-”,但是在數字設備中,機器是不認識這些的,我們就把“+”用“0”表示,“-”用“1”表示。原碼、反碼和補碼。這三種形式是怎樣表示的呢?如下所示:
例1:求+12和-12八位原碼、反碼、補碼形式
真值
原碼
反碼
補碼
它們的原碼分別為[+12]=00001100[-12]=100011
它們的反碼分別為[+12]*=00001100
[-12]*=(28-1)+(-1100)=11110011
它們的補碼分別為[+12]**=00001100
[-12]**=28+(-1100)=11110100
正數
+X
0X
0X
0X
負數
-X
1X
(2n-1)+X
2n+X
二:原碼、反碼及補碼的算術運算
因為這三種數碼表示法的形成規則不同,所以算術運算方法也不相同。
原碼:與我們的日常中算術運算相同。
反碼:先轉換為反碼形式,再進行加減運算。它的減法可以按A反+[-B]反的形式進行.
補碼:先轉換為補碼形式,再進行加減運算,其減法可以按A補+[-B]補進行.
三:溢出及補碼運算中溢出的判斷
溢出可以描述為運算結果大于數字設備的表示范圍。這種現象應當作故障處理。
判斷溢出是根據最高位的進位來判斷的。