二进制正负数的原码、反码、补码之间的转化

首先,计算机都是使用二进制的补码进行计算。

 

1、正数的二进制原码、反码、补码都是相同的

 

2、负数的二进制原码:负数的绝对值的二进制的最高位变为1(1是标志位,只用来表示正负,1表示负数,0表示是正数。所以八位二进制的取值范围是[-127,127]),其余位与正数原码相同。

比如-32

第一步:32(10)=00100000(2)

第二步:最高位变为1:10100000

 

3、负数的反码:等于原码的最高位不变,其余取反。

比如-32

原码为:10100000

反码为:11011111

 

4、负数的补码:等于原码的最高位不变,其余取反,然后加一。

比如-32

第一步,原码为:10100000

第二步,最高位不变取反:11011111

第三步,加一得补码:11100000

 

posted @ 2017-03-08 17:29  Red_Code  阅读(16658)  评论(2编辑  收藏  举报