二进制原码
在二进制中,我们规定带符号位的数符号位放在最高位
并且用 “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版权协议,转载请附上原文出处链接和本声明。