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 无溢出。