【笔记】原码反码补码

前言

有符号数的原码、反码、补码

原码

  • 原码能够表示的数值范围为[-127,127]
  • 第一位为符号位,其他位表示数
    • 正数符号位为0,负数符号位为1

+7的原码(1Byte)

1
0000 0111

-7的原码(1Byte)

1
1000 0111

反码

  • 反码能够表示的数值范围为[-127,127]
  • 如果为正数,原码和反码相同
  • 如果为负数,符号位不变,其他位取反

+7的反码(1Byte)

1
0000 0111

-7的反码(1Byte)

1
1111 1000

补码

  • 补码能够表示的数值范围为[-128,127]
  • 如果为正数,反码和原码、补码相同
  • 如果为负数,反码为补码加一

+7的补码(1Byte)

1
0000 0111

-7的补码(1Byte)

1
1111 1001

完成