理解通过补码完成减法

正数的反码、补码和原码相同

负数的原码先确定该负数绝对值的二进制表示,然后把最高位(符号位)设为 1

负数的反码对原码除符号位外,其余各位按位取反

负数的补码是反码 + 1

以 5 - 3 为例

假设以8位二进制来表示-3

原码反码补码
-31000 00111111 11001111 1101

补码 1111 1101 + 3 = 1 0000 0000,进位1

补码 1111 1101 + 5 = 1 0000 0010 =  5 - 3

从过程看来,通过转成反码和补码来逼近进位

通过反码和补码来制造进位的空缺,计算中完成进位,舍弃进位,有效位数中表示的就是最终的计算结果

那么 -3 - 3呢

1111 1101  + 1111 1101 = 1 1111 1010 = 1111 1010

1010差6完成进位,负数和负数相加就是累计进位缺口的过程,当加入正数就是填补进位缺口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值