首页 > 代码库 > 二进制正负数的原码、反码、补码之间的转化

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

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

 

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

 

2、负数的二进制原码:先计算该负数绝对值的二进制。之后对其每个数“取反”,然后加一。

比如-32

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

第二步:求反:11011111

第三步:加1:11100000

 

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

比如-32

原码为:11100000

反码为:10011111

 

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

比如-32

第一步,原码为:11100000

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

第三步,加一得补码:10100000

 

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