为什么计算机中使用补码?


0 总结

Get to the points first. The article comes from LawsonAbs!

  • 只是为了简化计算(主要是加减法)的复杂度才提出补码!
  • updata on 20200510:修改相关格式

1.问题

周六加班的时候,一个同事看到我在笔画二进制,就问我,这是啥,我跟他bb一大堆,然后他问我一句:为什么计算机使用补码,而不使用普通的(原码)呢
这的确是一个好问题。

2.原码加减法

讨论上述的内容之前,先默认大家都知道如下两个知识

  • 计算机中使用二进制
  • 已经有原码但尚未有补码的存在

那么在补码没有出现之前,我们怎么使用原码去快速的加减数?
我们知道, 如果一个数A要减去一个比它还大的数B,那么结果就是负值,比如2-3=-1;但是如果一个数A要减去一个比它小的数B,那么结果就是正值,比如2-1=1。但问题是:1,2,3对于人类来说,已经约定俗成有了大小关系,但是计算机并不知道孰大孰小。所以对于A-B这种减法问题,使用原码做加减法的过程如下:

  • 首先,比较两个运算数的大小
  • 其次,如果数A> B,那么直接相减;如果A

整个计算过程涉及到一次比较,一次运算,一次修改符号。是不是十分的复杂呢?要知道计算机早期是用于被设计为做计算的。如果以这样的计算效率在计算大量的运算,是低效的。那么有什么可以改进的方法吗?我们都知道,减去一个数,相当于加上该数的相反数。 比如A-B,则恒等于A+(-B),针对这个理论,有人提出了补码。

3.补码

补码是什么?
任何整数都有一个补码,这个补码就是计算机中真正存储的数字的形式。

3.1

为什么计算机中使用补码?_第1张图片

你可能感兴趣的:(Computer)