# 什么是补码

补码是计算机中用来表示有符号整数的一种方式,同时也是进行加减法运算时的基础

补码表示法的特点是:

  • 正数的补码等于其原码(即普通二进制表示)
  • 负数的补码是其对应的正数的二进制表示取反后加1

5为例

# 正数5

正数 5 的二进制原码是:00000101

所以它的补码也是:00000101

# 负数5
  • 先写出正数5的二进制:00000101
  • 取反(得到反码):11111010
  • 加 1:11111011
  • 所以 -5 的补码是:11111011

# 为什么要有补码

# 统一加减法:使用补码,可以将减法转换为加法运算。

例如:7 - 5 可以转换为 7 + (-5),在补码下可以直接用加法器实现。

只有一个 0:不像原码和反码那样有 +0-0 两种表示,补码中 0 只有一种表示(全 0)

在反码系统中,+0-0 有两种不同的表示:

  • +0 的二进制表示为全 0(例如,在8位系统中,+000000000
  • -0 则是对 +0 的每一位取反得到,在8位系统中,-0 表示为 11111111

处理起来需要额外处理这2种情况,效率低下

便于硬件实现:现代计算机普遍采用补码来表示整数和进行运算

上次更新: 2025/07/17 09:28:54