为什么数据在内存里是以补码的形式存储?

 我来答
719270522
高粉答主

2019-05-18 · 说的都是干货,快来关注
知道答主
回答量:147
采纳率:0%
帮助的人:11.6万
展开全部

数据在内存里是以补码的形式存储的原因有三点:

1、保证了0的唯一性,保证了数的表示的准确性。

2、让加减可以统一处理,优化了数的运算过程。

3、解决了自身逻辑意义的完整性。

数据在内存里以补码的形式存储是为了简化计算机的结构设计,同时也提高了运算速度。在计算机系统中,数值一律用补码来表示和存储。

扩展资料:

补码的主要特性:

补码为一个负整数(或原码)与其补数(或补码)相加,和为模。在补码的运算中,对一个整数的补码再求补码,等于该整数自身。补码的正零与负零表示方法相同。计算机底层不区分无符号数和补码数,可认为其运算全部当作无符号数处理。

补码使得符号位能与有效值部分一起参加运算,从而简化运算规则。使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言中使用的都是原码。

参考资料来源:百度百科-补码

大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
伶俐又柔美灬小鸥01
推荐于2019-09-04 · TA获得超过6466个赞
知道小有建树答主
回答量:24
采纳率:0%
帮助的人:1.2万
展开全部

数据在内存里以补码的形式存储是为了简化计算机的结构设计,同时也提高了运算速度。

一、补码的释义:

1、计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。

2、在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

二、计数系统:

1、 一个计数系统可以存多少容量状态的数,我叫它作为计数系统的Mod。一个计数系统不断地加一,那么它表示的数的状态也会周期性地变化,我叫这个周期的大小叫做Mod。

2、 举个两个例子:一个包含两个bit的存储单位,它可以表示00,加一变成01,加一变成10,加一变成11,再加一又变成了00。即该计数系统的Mod为4。另一个时钟显示十二个小时,时针旋转一周后回到原来的状态,即该系统的Mod为12。

3、由此,可以得到一个结论。这种周期性变化的计数系统,一个状态加减整数倍的Mod,其状态不会有不会发生变化。00加上4次之后还是00,12点时阵转两圈后还是12点。

三、补码的特性:

1、一个负整数(或原码)与其补数(或补码)相加,和为模。

2、对一个整数的补码再求补码,等于该整数自身。

3、补码的正零与负零表示方法相同。

四、运算速递简介:

1、英文Computing speed;运算速度:运算速度是衡量计算机性能的一项重要指标。通常所说的计算机运算速度(平均运算速度),单字长定点指令平均执行速度MIPS(Million Instructions Per Second)的缩写,每秒处理的百万级的机器语言指令数。

2、这是衡量CPU速度的一个指标。像是一个Intel80386 电脑可以每秒处理3百万到5百万机器语言指令,即我们可以说80386是3到5MIPS的CPU。MIPS只是衡量CPU性能的指标。是指每秒钟所能执行的指令条数,一般用“百万条指令/ 秒”来描述。微机一般采用主频来描述运算速度,主频越高,运算速度就越快。

五、存储系统:

1、计算机的主存储器不能同时满足存取速度快、存储容量大和成本低的要求,在计算机中必须有速度由慢到快、容量由大到小的多级层次存储器,以最优的控制调度算法和合理的成本,构成具有性能可接受的存储系统。

2、存储系统的性能在计算机中的地位日趋重要,主要原因是:

①冯诺伊曼体系结构是建筑在存储程序概念的基础上,访存操作约占中央处理器(CPU)时间的70%左右。

②存储管理与组织的好坏影响到整机效率。

③现代的信息处理,如图像处理、数据库、知识库、语音识别、多媒体等对存储系统的要求很高。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2021-10-30 · TA获得超过5251个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:638万
展开全部

负数的补码,是一个正数。

使用补码,就是使用正数,代替负数进行运算。

这也就是:用加法,代替了减法运算。

因此,只用一个加法器,就可以实现加、减运算。节省了硬件。

***补码的原理***

当限定了运算的位数,减去一个数,和加上另一个数,效果相同。

比如: 24-1 = 23

    24 + 99 = (1)  23

只取低两位,忽略进位,这两种运算的结果,不是相同吗?

99,就是-1 的补数。

两位十进制,共有 100 个数字。

求-1 的补数,就是: 99=100 + (-1)

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

计算机,使用二进制,补数就改称:补码。

八位二进制,共有 256 个数字。

-1 的补码,就是 256 + (-1) = 255 = 1111 1111。

-2 的补码,就是 256 + (-2) = 254 = 1111 1110。

。。。

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

求负数八位补码的公式:256+该负数。

 正数无须变换,直接就可以参加运算。

 正数,不需要补码,它也根本就没有补码。

补码,和原码反码,没有任何关系。

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

为什么数据在内存里是以补码的形式存储?

目的是:

用补码代表负数,可以加法器算出减法,省去了减法电路。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2022-05-13 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部

补码的功能,类似于:

  时针倒拨 3 小时,与正拨 9 小时,效果相同。

利用这种思路,计算机中的负数,也可以改为正数(即补码)。

同时,减法运算,也就可以用加法运算代替了。

那么,借助于补码,就能统一加减法,够简化计算机的硬件。

十进制比较容易理解:

  25 - 1 = 24

  25 + 99 = (一百) 24。

只要忽略进位,+99 就能代替-1。

+99 就称为-1 的补数。

在这里用了 2 位 10 进制。

求补数的算法:补数 = 负数 + 10^2。

通用的公式是:补数 = 负数 + 10^n。 n 是位数。

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

计算机用二进制,补数,就改名为:补码


一个字节,是 8 位 2 进制。

计数范围是:0000 0000 ~ 1111 1111(十进制 255)。

计数周期是:2^8 = 256。


求补码的算法:负数的补码=负数+2^n。

那么:

-1 的补码=-1 + 256 = 255 = 1111 1111。

-2 的补码=-2 + 256 = 254 = 1111 1110。

。。。


例如,7-2 = 5,用补码计算如下:

      7 = 0000 0111

   [-2] 补 = 1111 1110

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

  得: (1)   0000 0101  = 5

舍弃进位,结果就完全正确。

借助于补码,负数就没有了,从而就把“减法转换为加法运算”。

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

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

“取反加一、符号位也能参加运算”,这些,都没有什么理论依据。

通过原码反码,已经证明“符号位能参加运算”是错误的。

补码能正确运算,并不是什么“符号位也参加运算”。

因为,补码,它就是一个正数,什么符号位也没有。

补码的全部位,都是代表数据的,当然就都可以参加运算。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式