为何要用反码加1等于补码来运算负数

若从头厘清,请先看原文链接,在看下面解释
详细解释:原文(七)为何这样求补码
为何负数的补码是反码加1?
首先理解负数就是做减法,而在模的概念中,减法等同于加上这个减数的同余数,比如举例16(10000)是模,(-2)即减2,等同于加上16-2=14,此时(+14)就可以表示-2。而(+14)是通过16-|-2|=14得来的。
到此在运算负数时,
负数(等价意义)=模-|负数| ------(1式)
然后解释为什么要反码加1
比如(-2)的反码是1101,而反码的绝对值是0010(2),(-2)+2应该=0,但从1101+0010=1111看并不等于0,如何才能等于0呢?1111加1就是10000(模),取低4位0000就等于0了。所以有如下公式:
负数反码+负数的绝对值+1=模------(2式)
而从上文(1式)知
负数(等价意义)=模-|负数|
将(2式)移项,得:

负数反码+1=模-|负数|-------(3式)

根据(3式)
所以在碰到运算是负数时,就等价于(3式)右边模-|负数|,也就是同余,而同余此处称为补码。 再看(3式)左侧,负数反码+1=补码
帮助大家理解,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值