1-2原码、反码和补码

二进制原码

在二进制中,我们规定带符号位的数符号位放在最高位

并且用 “0”代表正数 “1”代表负数

例:
01010 -----> 10

10100 -----> -4

反码

正数反码就是它本身。

负数反码将“0”变“1”,“1”变“0”。(符号位不变)

例:
01010 —反码–> 01010

10100 —反码–> 11011

补码

正数补码还是它本身。

负数补码就是反码+1。

例:
01010 —补码–> 01010

10100 —反码–> 11011 —补码–> 11100

二进制补码运算

在二进制运算中,涉及负数以及减法的运算我们通常用补码来进行运算。

运算规则:

  • 运算中出现的负数都用补码表示。
  • 所有减法都等价于加上对应负数的补码(10-3等价于10+(-3的补码))。
  • 符号位参与运算。
  • !!!特别注意运算出来的结果是补码形式。

例:
在这里插入图片描述

可以看到,这里选择5位来表示数值部分,题干所给最大数值为13,按理来说4位就足够了,但是为了防止计算溢出,也就是10+13=23,数值部分选用4位肯定是表示不了的,所以一开始就选择使用五位来表示数值部分。


版权声明:本文为weixin_48312484原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。