原码、反码和补码


目录

原码、反码和补码

  • 所有数字使用二进制表示,正数的原码与其二进制表示相同。
  • 为了表示负数,使用符号位来表示正负,其中最高位为符号位。
  • 以 4 个 bit 位为例,可以表示的范围是:-7~+7。
  • 最小值的原码为:1111,对应的是-7。
  • 最大值的原码为:0111,对应的是+7。
  • 正数的反码与其原码相同。
  • 负数的反码在原码的基础上,符号位不变,其他位取反。
  • 使用反码进行加减法时,仍然存在进位的问题。
  • 正数的补码与其原码相同。
  • 负数的补码在原码的基础上,符号位不变,其他位取反,然后加 1。
  • 补码的引入消除了原码和反码中加减法的进位问题。
  • 使用补码表示时,4 个 bit 位的范围是:-8~+7。

通过引入补码表示方法,能够更方便地进行正数和负数的加减运算,并且不会出现-0 的情况。在计算机中,补码表示方法被广泛应用,特别是在 C 语言中。