原码

原码是数字的二进制表示方式,由符号位和绝对值(数值位)构成。原码的第一位代表符号位(0 代表正数,1 代表负数);第二位开始就是数字的绝对值。
原码、反码和补码插图

反码

反码的表示方法区分正负数。

  • 正数时。反码等于原码。
  • 负数时。反码在原码的基础上,符号位不变,数值位取反。

原码、反码和补码插图(1)

反码是相互的,可以说原码与其反码之间的互为反码。负数的反码加上原码等于 1

补码

补码的表示方式同样区分正负数。

  • 正数时。补码等于原码。
  • 负数时。补码在原码的基础上,符号位不变,数值位取反并在末尾+1(即在反码的基础上+1)。

原码、反码和补码插图(2)

负数的补码加上原码等于 0

计算补码的注意点

在了解了补码的表示形式之后要注意一下计算补码的过程,进行 +1 操作时如果产生进位只影响数值位,不影响符号位,如果超出数值位的长度则舍弃。注意注意,只有在计算补码时是这样,补码运算(补码加补码)时符号位都是要参与运算的。为了说明进位情况,举一个例子:在限定了最大位数为 4 位的情况下求 1000 的反码,计算过程如下图。
原码、反码和补码插图(3)

参考资料

补码的加减法运算_简述补码减法运算的规则
反码和补码的数学原理
补码(为什么按位取反再加一):告诉你一个其实很简单的问题

本站无任何商业行为
个人在线分享 » 原码、反码和补码
E-->