補碼運算如何判斷溢出(補碼運算)

導讀 您好,現在軟糖來為大家解答以上的問題。補碼運算如何判斷溢出,補碼運算相信很多小伙伴還不知道,現在讓我們一起來看看吧!1、[-54-30]補 =...

您好,現在軟糖來為大家解答以上的問題。補碼運算如何判斷溢出,補碼運算相信很多小伙伴還不知道,現在讓我們一起來看看吧!

1、[-54-30]補 = [-54]補 + [-30]補。

2、-54的補碼:因為是負數,所以符號位為1,54=32+16+4+2=0110110(2),取反=1001001,加1=1001010,所以-54的補碼是1 1001010.同理,30=16+8+4+2=0011110(2),取反=1100001,加1=1100010,-30的補碼是1 1100010.[-54-30]補=1 1001010 + 1 1100010 = 1 0101100根據補碼的補碼是原碼:[[-54-30]補]補=原碼。

3、符號位為1,說明為負數,0101100取反=1010011,加1=1010100,轉化為10進制得84,故結果為-84。

4、補碼的表示方法是:正數的補碼就是其本身如+9的補碼是00001001。

5、負數的補碼是在其原碼的基礎上, 符號位不變, 其余各位取反, 最后+1. (即在反碼的基礎上+1)[+1] = [00000001]原?= [00000001]反?= [00000001]補[-1] = [10000001]原?= [11111110]反?= [11111111]補對于負數, 補碼表示方式也是人腦無法直觀看出其數值的. 通常也需要轉換成原碼在計算其數值。

6、擴展資料正整數的補碼是其二進制表示,與原碼相同 。

7、例:+9的補碼是00001001。

8、求負整數的補碼,將其對應正數二進制表示所有位(包括符號位)取反(0變1,1變0,符號位為1不變)后加1 。

9、同一個數字在不同的補碼表示形式中是不同的。

10、比如-15的補碼,在8位二進制中是11110001,然而在16位二進制補碼表示中,就是1111111111110001。

11、以下都使用8位2進制來表示。

12、例:求-5的補碼。

13、-5對應正數5(00000101)→所有位取反(11111010)→加1(11111011)所以-5的補碼是11111011。

14、參考資料來源:百度百科——補碼。

本文就為大家分享到這里,希望小伙伴們會喜歡。

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!