原码、反码、补码

原码

#很直观的,以8位表示一个数
00000001 # 1
10000001 # -1

反码

#正数数反码=原码
#负数反码=符号位(最高位)不变,其余各位取反
00000001 # 1
11111110 # -1

补码

#正数补码=原码
#负数补码=符号位不变,其余各位取反,然后加1
00000001 # 1
11111111 # -1

原理

  • 为了使计算机只有加法运算,所以符号位也要参与运算,就出现了反码
  • 反码会导致+0,-0, 所以就有了补码,用原来-0的反码来表示-128

表示范围

  • 反码 : [-127, 127]
  • 补码 : [-128, 127]
posted @ 2018-06-29 16:48  Joseph_Chuh  阅读(155)  评论(0)    收藏  举报