原码 反码 补码

原码:10进制的数换为2进制的数,结果就是三种码中人类唯一认识的原码

负数是10进制转为2进制后最高位置为1,计算机通过+一个负数的相反数来实现减法,但这使用原码是无法实现的

例如4位数用原码计算 1001(-1)+0001(1)=1010(-2),原码计算-1+1结果等于-2

反码:正数不变,负数是符号位不变其余取反

通过两个数反码相加得到的结果在转为原码,真值是正确的,但是出现了-0

0001(1反码)+1110(-1反码)=1111(-0反码)=1000(-0原码)

补码:正数不变,负数是反码+1

两个数的补码相加

0001(1补码)+1111(-1反码)=0000(0补码)=0000(0补码)

猜你喜欢

转载自www.cnblogs.com/ming-szu/p/9152431.html