正數:正數的反碼與原碼相同。
負數:負數的反碼,符號位為“1”,數值部分按位取反。
浮點表示方法
例如:
符號位
數值位
[+7]反=
0
0000111
B
[-7]反=
1
1111000
B
註意:a.
數0的反碼也有兩種形式,即
[+0]反=00000000B
[-
0]反=11111111B
b.
8位二進制反碼的表示範圍:-127~+127
補碼:
正數:正數的補碼和原碼相同。
負數:負數的補碼則是符號位為“1”,數值部分按位取反後再在末位(最低位)加1。也就是“反碼+1”。
例如:
符號位
數值位
[+7]補=
0
0000111
B
[-7]補=
1
1111001
B
補碼在微型機中是壹種重要的編碼形式,請註意:
a.
采用補碼後,可以方便地將減法運算轉化成加法運算,運算過程得到簡化。正數的補碼即是它所表示的數的真值,而負數的補碼的數值部份卻不是它所表示的數的真值。采用補碼進行運算,所得結果仍為補碼。
b.
與原碼、反碼不同,數值0的補碼只有壹個,即
[0]補=00000000B。
c.
若字長為8位,則補碼所表示的範圍為-128~+127;進行補碼運算時,應註意所得結果不應超過補碼所能表示數的範圍。