返回
首页>资讯

计算机为什么使用补码来存储数据

时间: 2023-02-28 12:54:05

计算机为什么使用补码来存储数据

主要原因:

使用补码,可以将符号位和其它位统一处理。同时,减法也可按加法来处理,减少计算机工作量,提高计算机工作效率。两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。补码:是一种用二进制表示有号数的方法,也是一种将数字的正负号变号的方式,常在计算机科学中使用。补码系统的最大优点是可以在加法或减法处理中,不需因为数字的正负而使用不同的计算方式。只要一种加法电路就可以处理各种有符号数加法,而且减法可以用一个数加上另一个数的补码来表示,因此只要有加法电路及补码电路即可完成各

为什么计算机存储的是补码?

在计算机系统中,数值,一律用补码来表示和存储。

8 位二进制代码,共有 2^8 = 256 种组合。

如果设计合理,它们就可以代表 256 个数字。

 

但是,原码和反码,都是有缺陷的,一个 0,都占用了两个码位。

所以,8 位的原码反码,却都只能代表 255 个数字:-127~+127。

(在计算机中,并不使用原码和反码,这个缺点,也是原因之一。)

 

而补码的设计方案,是完美的,数字与编码,是一一对应的。

所以,8 位的补码,就能代表 256 个正负数字。

其范围就是:-128~-1,0~+127。

故此,在计算机系统中,数值,一律用补码来表示和存储。

原码和反码,在计算机中,都是不存在的。

那么,原码和反码,都在哪儿啊?

天知道!

计算机为什么采用补码的形式存储数据

补码,其实就是一个“代替负数”的正数。

使用了补码之后,在计算机内部,就没有负数了,

从而,也就没有减法运算了。

因此,利用补码,就可以简化计算机的硬件。

而原码和反码,都没有这种功能。

所以,在计算机中,原码反码,都是不存在的。

-----------

补码(一个正数),怎么就能代替负数呢?

你看,2 位 10 进制数的运算:

25 - 1 = 24

25 + 99 = (一百) 24

舍弃进位,只取 2 位数,结果,是不是相同的?

99,就称为-1 的补数。

98,就是-2 的补数。

。。。

补数,是怎么算出来的?

公式,你都可以自己推导:

补数(正数)=负数+周期(10^2)。

正数,本身就是正数了,不需要作任何变换。

所以,正数,并没有补码。

------------

计算机的运算,位数,也是限定的。

8 位机,每次运算,就是 8 位 2 进制。

那么,-1 的补码,就是:

 -1 + 2^8 = 255 = 1111 1111 (二进制)。

。。。

如 25 -1 = 24,用补码计算如下:

25 = 0001 1001

 [-1]补码 = 1111 1111

--相加---------

得:  (1)  0001 1000  = 24

舍弃进位,保留八位的结果,这就是 24。

-------------------------

补码的来源,与原码和反码,毫无关系。

所以,学习原码和反码取反加一符号位不变,都是做无用功。

老外数学不好,才会用使用这些骚操作。

声明: 我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本站部分文字与图片资源来自于网络,转载是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:daokedao3713@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

猜你喜欢

本站内容仅供参考,不作为诊断及医疗依据,如有医疗需求,请务必前往正规医院就诊
祝由网所有文章及资料均为作者提供或网友推荐收集整理而来,仅供爱好者学习和研究使用,版权归原作者所有。
如本站内容有侵犯您的合法权益,请和我们取得联系,我们将立即改正或删除。
Copyright © 2022-2023 祝由师网 版权所有

邮箱:daokedao3713@qq.com

备案号:鲁ICP备2022001955号-4

网站地图