原码:
\color{#FF0000}{原码:}
原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负。
反码:
\color{#FF0000}{反码:}
反码:正数的反码是其本身,负数的反码是符号位保持不变,其余位取反。
补码:
\color{#FF0000}{补码:}
补码:正数的补码是其本身,负数的补码是在其反码的基础上+1。
原码的弊端: 利用原码对正数进行计算是不会有问题的。但是如果是负数计算,结果就会出错,实际运算的结果,跟我们预期的结果是相反的。
反码的出现: 为了解决原码不能计算负数的问题而出现的。
反码的弊端: 负数运算的时候,如果结果不跨0,是没有任何问题的,但是如果结果垮0,跟实际结果会有1的偏差。(因为0有+0和-0之分,且他们的反码不一样)
十进制数字 | 原码 | 反码 | 补码 |
---|---|---|---|
+0 | 00000000 | 00000000 | 00000000 |
-0 | 10000000 | 11111111 | 00000000 |
补码的出现: 为了解决负数计算时垮0的问题而出现的。(补码的+0和-0是一样的)