原码、反码、补码

原码:最高位表示数的符号,其他位表示数值;最高位 0 表示正数,1 表示负数。

  • [+7]原码 = 00000111B
  • [-7]原码 = 10000111B

反码:

  • 正数的反码和原码相同。

    [+7]反码 = 00000111B = [+7]原码

  • 负数的反码是由其原码的符号位不变,其余位取反。

    [-7]反码 = 11111000B

补码:

  • 正数的补码和原码相同。

    [+7]补码 = 00000111B = [+7]原码

  • 负数的补码是由其原码的符号位不变,其余位按位取反,再在最低位加1。

    [-7]补码 = 11111001B

    过程:

    [-7]原码 = 10000111B 符号位不变,其余位取反,得到反码

    [-7]反码 = 11111000B 根据反码,最低一位加1,得到补码

    [-7]补码 = 11111001B

原文地址:https://www.cnblogs.com/ananing/p/14643601.html