补码计算原理

补码原理

前言

  补码(Two’s complement) 是一种用二进制表示有符号数的方法,也是一种将数字的正负号变号的方式,常在计算机科学中使用。
  采用补码存储的最大优点是只用一种运算方法就能计算正数和负数,不用考虑操作数的正负号。在做减法时可转换成加上被减数的相反数的补码,这样计算单元内只要有加法电路和补码电路就能完成各种整数的加减运算,极大简化了电路上的设计。另外使用补码系统后就不会出现 +0 和 -0 两种 0 的表示方式,减少了数据运算的复杂度。

正文

  为什么使用补码可以使加法计算出减法的效果呢,这是巧妙运用了存储单元的溢出机制。举一个同样存在“溢出”的例子:时钟。
Clock
  在时钟里,时针的最大刻度是 12,超过这个值(称为模)将回到起点。假设现在要把时针从 4 点钟调到 1 点钟,可以逆时针减 3 小时,也可以顺时针加 9 小时,效果是完全一样的。于是在时针系统里存在:4-3 = 4+9,在模为 12 的时针系统里 3 和 9 就是一对补数,利用补数形式可将式子写成:4-3 = 4+(12-3)。再将时针回到原点看成是取模运算的话,就能得到: (4-3) mod 12 = [4+(12-3)] mod 12 = 1,等式严格成立。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fountain芳腾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值