1、0的原碼反碼補碼
0原碼是00000000
-0原碼是10000000
0反碼是00000000
-0反碼是11111111
0補碼是00000000
補碼沒有正0與負0之分。
首先,計算機都是使用二進制的補碼進行計算。
2、二進制
1、正數的二進制原碼、反碼、補碼都是相同的
2、負數的二進制原碼:負數的絕對值的二進制的最高位變為1(1是標志位,只用來表示正負,1表示負數,0表示是正數。所以八位二進制的取值范圍是[-127,127]),其余位與正數原碼相同。
比如-32
第一步:32(10)=00100000(2)
第二步:最高位變為1:10100000
3、負數的反碼:等於原碼的最高位不變,其余取反。
比如-32
原碼為:10100000
反碼為:11011111
4、負數的補碼:等於原碼的最高位不變,其余取反,然后加一。
比如-32
第一步,原碼為:10100000
第二步,最高位不變取反:11011111
第三步,加一得補碼:11100000
原碼變成反碼:最高位不變,其余取反
原碼變成補碼:最高位不變,其余取反之后加一。
補碼變成移碼:補碼最高符號位取反就是移碼。
3、定點小數、定點整數和浮點數的范圍
(1)16位無符號整數范圍:0 ~ 216-1,即0~65535
(2)16位原碼定點小數范圍 : -(1-2-15)~+(1-2-15)
(3)16位移碼定點整數范圍: -215~+(215-1) 即-32768~+32767
(4)16位補碼定點整數范圍: -215~+(215-1) 即-32768~+32767
下述格式浮點數范圍:關於原點對稱的
最大正數:+0.111 1111*21111 1111=+(1-2-7)*2127
最小正數:+0.100 0000*20000 0000=+2-1*2-128=+2-129
最大負數:-0.100 0000*20000 0000= - 2-1*2-128= - 2-129
最小負數:- 0.111 1111*21111 1111= - (1-2-7)*2127
4、標志位解釋
2、PF(奇偶標志) =1 數據最低8位中1的個數為偶數 ,=0 數據最低8位中1的個數為奇數 ;
3、AF(輔助進位標志) =1 D3→D4位產生了進位或借位 ,=0 D3→D4位無進位或借位 ;
4、ZF(零標志) =1 操作結果為0,=0 結果不為0;
5、SF(符號標志) =1 結果最高位為1 ,=0 結果最高位為0;
6、OF(溢出標志) =1 此次運算發生了溢出, =0 無溢出。