为什么要使用补码?

在《什么是原码?》那篇文章中我们提到过:原码是人脑最容易理解和计算的表示方式。既然如此,我们为什么还要使用补码呢?

首先,我们来看几个4位二进制数进行运算的例子!

在原码下,1-1=1+(-1)=0001+1001=1010=-2

我们可以看出,由于符号位参与计算,对于减法来说,用原码表示计算结果并不正确。

在反码下,1-1=1+(-1)=0001+1110=1111=-0

我们可以看出,用反码表示计算结果问题出现在“0”这个特殊数值上,正常来说,0不应该带符号,0带符号没有任何意义。

在补码下,1-1=1+(-1)=0001+1111=0000=0

我们可以看出,真值没有问题,0带符号的问题也解决了!

综上所述,我们使用补码的原因主要有以下两个方面:

第一,我们人脑可以知道原码的第一位是符号位,但是计算机不知道,而恰好补码表示中的符号位可以与数值位一起参加运算,弥补了计算机不能辨别符号位的缺憾。

第二,我们人脑可以快速计算减法,但是计算机很难做到,所以我们根据运算法则——减去一个正数等于加上一个负数,将减法运算转换成为加法运算,对计算机而言,这大大地简化了运算的过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

GJZGRB

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

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

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

打赏作者

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

抵扣说明:

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

余额充值