二进制正负数及0的原码、反码、补码之间的转化(附标志位解释)

二进制正负数及0的原码、反码、补码之间的转化(附标志位解释)1、0的原码反码补码0原码是00000000-0原码是100000000反码是00000000-0反码是111111110补码是00000000补码没有正0与负0之分。首先,计算机都是使用二进制的补码进行计算。2、二进制1、正数的二进制原码、反码、补码都是相同的2、负数的二进制原

大家好,欢迎来到IT知识分享网。二进制正负数及0的原码、反码、补码之间的转化(附标志位解释)

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、标志位解释
 
1、CF(进位标志) =1 算术操作最高位产生了进位或借位, =0 最高位无进位或借位( CF=1 则说明了有进位或借位,CF=0 则说明了无借位);
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 无溢出。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/27596.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信