整型數據在內存中以二進制補碼形式進行存儲,n位二進制補碼的計算公式爲:[x]補=2n+x數組
如:[-1]補=28+(-1)=255=1 111 1111Bspa
二進制減法口算方法:由n個二進制1組成,即:,所以,比該數略小的數只須將若干相應位權的1改成0便可。如,內存
250=(2^8-1)-5=1111 1111B-101B=1111 1010Bclass
二進制加法口算方法:由1個1和n個0構成的二進制數組成,即:,所以,比該數略大的數只須將若干相應位權的0改成1便可。如,擴展
16若干倍的數可先轉換成十六進制數再轉換成二進制數,如二進制
176=11*16+0=0B0H=0xB0=10110000B方法
161=10*16+1=0A1H=0xA1=10100001Bim
正數求補碼的方法:符號位爲0,數值轉換爲n-1位二進制數得原碼;正數反碼和補碼同原碼。數據
負數求補碼的方法:符號位爲1,數值轉換爲n-1位二進制數得原碼;將原碼數值位取反獲得反碼,再將反碼數值未位加1得補碼。因而可知,對於負數,同一個數的原碼、反碼、補碼是不一樣的。如求-1補碼的步驟以下:img
補碼符號位擴展或壓縮數值不變(高位增減符號值不變),如
[-1]補=1 111 1111B=1111 1111 1111 1111B
[+1]補=0 000 0001B=0000 0000 0000 0001B