您当前的位置:首页 > 生活百科 > 科学

计算机为何采用补码的形式来表示负数

时间:2019-07-21 10:44:28  来源:  作者:
计算机为何采用补码的形式来表示负数

 

从上文:计算机的原码、反码和补码可知,计算机有三种编码方式来表示同一个数:

  • 原码:符号位加上真值的绝对值,第一位表示符号,其余位表示值。
  • 反码:正数的反码是其本身;负数的反码是在其原码的基础上,符号位不变,其余位取反。
  • 补码:正数的补码还是其本身;负数的补码是在其原码的基础上,符号位保持不变,其余位取反,最后+1。即反码加1。

对于+1和-1,

[+1] = [0001]原 = [0001]反 = [0001]补

[-1] = [1001]原 = [1110]反 = [1111]补

为什么计算机采用补码的形式来表示负数呢?

首先我们知道,一个数在计算机中有正负之分,这个数的最高位(符号位)用来表示它的正负,其中0表示正数,1表示负数。

对于计算机来说,加法是最基础的运算,要设计的尽量简单。

根据加法的运算法则,a-b等于a+(-b)。

如果能将符号位也参与到运算中,而非单独“辨识符号位”,就可以大大简化计算机的基础电路。

计算机为何采用补码的形式来表示负数

 

于是,人们开始探索只保留加法,并将符号位参与到运算中的方法。

1、原码:1 - 1 = 0

首先来看原码:1 - 1 = 0

1 - 1 = 1 + (-1)

= [0001]原 + [1001]原

= [1002]原

= -2

这显然是错误的。

2、反码:1 - 1 = 0

对于反码:

1 - 1 = 1 + (-1)

= [0001]反 + [1110]反

= [1111]反

= [1000]原

= -0

用反码进行计算,发现结果是对的。但有一个问题是“0”的表示有两个:

  • -0([1000])
  • +0([0000])

而0带符号是没有意义的。

且采用补码形式,对于4位的二进制,其表达的范围为:[1000]反~[0111]反,即[1111]原~[0111]原,也即[-7,7]。

因为“0”有两个编码形式,所以等于浪费了一个编码。

3、补码:1 - 1 = 0

而补码解决了反码的问题:

1 - 1 = 1 + (-1)

= [0001]补 + [1111]补

= [0000]补

= [0000]原

= 0

使用补码, 不仅仅解决了0的符号以及存在两个编码的问题,而且还能够用[1000]来表示-8,即多表示一个最低数。

即对于4位的二进制,使用原码或反码表示的范围为[-7,+7],而使用补码表示的范围为[-8,7]。

因为计算机采用补码来表示负数,所以对于编程中常用到的32位int类型,可以表示范围是:[-2^31,2^31-1] 。



Tags:补码   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
根据个人总结,其原因主要有以下三点: 让符号位也能参与数值的计算,让计算规则更简单 让减法运算也能用加法表示,简化了硬件电路的设计 让0有统一的编码,因为 反码 和 原码 中 +0...【详细内容】
2021-08-30  Tags: 补码  点击:(54)  评论:(0)  加入收藏
从上文:计算机的原码、反码和补码可知,计算机有三种编码方式来表示同一个数: 原码:符号位加上真值的绝对值,第一位表示符号,其余位表示值。 反码:正数的反码是其本身;负数的反码是...【详细内容】
2019-07-21  Tags: 补码  点击:(321)  评论:(0)  加入收藏
▌简易百科推荐
日本在今年又给大家带来了一个巨大消息,日本著名的球星本田圭佑出资设立的一家公司,正式发售了飞行摩托车。 在之前可是在电视或者是电影中才能看到的,是具备了未来科幻的一个...【详细内容】
2021-12-28  科学知识点    Tags:飞行摩托   点击:(4)  评论:(0)  加入收藏
在海洋、陆地、天空三片领域中,都有处在食物链顶端的王者,它们站在食物链顶端,拥有王者的身份,如海洋霸主虎鲸是毫无争议的海洋王者,在海洋中,基本上是所向披靡,没有天敌,而草原王者...【详细内容】
2021-12-17  小楠动物世界    Tags:   点击:(8)  评论:(0)  加入收藏
氦元素在全宇宙的质量中大约占了24%,但是在地球大气中的浓度为5.2 ppm(1ppm=0.0001%)[1],因此称它为稀有气体。稀有气体也被称为惰性气体,化学反应上的惰性也是造成氦气在地球上含...【详细内容】
2021-12-15  中科院物理所    Tags:稀有气体   点击:(8)  评论:(0)  加入收藏
在管理工作中,有些传统的做法是错误的,我们要避免犯这些错误。以下这11条,都是错的。 01 . 拒绝承担个人责任有一次,有一项工作出了差错,董事长把我叫去骂了一顿。我对董事长说,“...【详细内容】
2021-12-14  股权设计布局    Tags:管理   点击:(5)  评论:(0)  加入收藏
对光的研究起源于古希腊,在那里,哲学家们开始思考视觉是如何工作的。柏拉图和毕达哥拉斯等思想家认为,我们的眼睛会发出微弱的光线进行探测。这些光线将收集我们周围物体的信息...【详细内容】
2021-12-08    中科院物理所  Tags:   点击:(12)  评论:(0)  加入收藏
据阿根廷布宜诺斯艾利斯经济新闻网12月6日报道,进食后感到困倦或疲惫是很常见的。这可以解释为,在那一刻,身体所有的能量都“投入”在消化过程中,短时间内感到有点昏昏欲睡非常...【详细内容】
2021-12-08    参考消息  Tags:犯困   点击:(8)  评论:(0)  加入收藏
量子力学能用来干什么?更该问的是它不能干什么!在知道了量子力学这个学科后,许多人就会来问:它能用来干什么?实际上,这个问题问偏了。真正有意义的问题是:量子力学不能用来干什么?因...【详细内容】
2021-12-07  中科院物理所    Tags:量子力学   点击:(16)  评论:(0)  加入收藏
电流是什么?首先回想下,我们学过的电流的定义是什么?很简单,导体中的带电粒子的定向运动就是电流。只有当物质内具有能自由移动的带电粒子,它才可以传输电流——即导电...【详细内容】
2021-12-07    中科院物理所  Tags:电流   点击:(25)  评论:(0)  加入收藏
要理解光速不变原理。首先要有抛弃固有的思维模式的思想准备,否则不容易理解。因为爱因斯坦这个理论有点离经叛道。 我们都知道,描叙一个运动,必须有参考系才有意义。说一列火...【详细内容】
2021-11-30  宇宙探索    Tags:光速不变   点击:(18)  评论:(0)  加入收藏
一半是彻夜无眠,而床上的另一半是呼噜声连绵不绝。这个场景恐怕是很多家庭的真实写照了吧。更让人崩溃的是,推一下不打了,下一秒又开始了“呼~~~呼~~呼”。给我闭嘴!!!那为什么“...【详细内容】
2021-11-17    科普中国  Tags:打呼噜   点击:(22)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条