问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么使用二进制计算的时候会出现溢出现象?

发布网友 发布时间:2022-04-23 00:56

我来回答

3个回答

热心网友 时间:2023-10-06 09:37

什么是溢出?

溢出,是指数据的大小,超出了编码所能表示的范围。

发生溢出时,该组编码,就不能正确的表示数据。

 

不仅是补码计算,任何形式的计算,都可能产生溢出。

比如:1999 年、2000 年 ...,这是用 4 位十进制表示。

当到了 9999 年,再过一年,你如果还用 4 位表示,就会溢出了。

 

如果不*编码的位数,那么,就不存在溢出的问题了。

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

无符号数的溢出

计算机所能运算的位数是固定的,如:八位机、16、32、64 位机。

当字长为八位时,其计数范围是:0000 0000~1111 1111。

它们可以表示【自然数】,写成十进制就是:0~255。

 

在小学学过的【自然数】,在计算机专业,被偷改为“无符号数”。

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

如果在其最大值(255)再加上一,就会超出表示范围,发生溢出。

此时,八个位就都为 0,进位将为 1。

进位为 1,就是无符号数溢出的标志。

 

进位 1,代表十进制的 256。

256 是八位二进制数的计数周期,又被计算机专业改称为“”。

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

带符号数的溢出

八位二进制也能表示【整数】,包括了【正整数、零和负整数】。

在小学学过的【整数】,在计算机专业,被偷改为“带符号数”。

  

此时,0 ~ 127,就直接代表【零和正整数】;

   128~255,是以补码代表【负整数】,即代表-128~-1。

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

在正数最大值(+127)上再加+1,就会超出表示范围,发生溢出。

此时得到的是 128,这是负数(-128)的补码。

 

注意,虽然此时的进位为 0,但是仍然是溢出了。

  结果的符号错误,才是溢出的特征。

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

在负数最小值(-128)再加-1,也会超出范围,发生溢出。

 

计算如下:

     1000 0000

   + 1111 1111

  ---------

   (1)   0111 1111

 

此时,竟然得到了正数(+127)!

 

注意,此时的进位为 1,并无意义。

   结果的符号错误,才是溢出的特征。

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

“带符号数”溢出的特征是:运算结果的符号,与正常结果相反。

“带符号数”的溢出,与进位是 1 是 0,并无关系。

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

判断是否溢出的方法

因为“带符号数”运算发生溢出,必定是结果超出范围。

所以,只有如下四种运算,才有可能出现溢出:

 正数+正数、负数+负数、正数-负数、负数-正数。

其它运算如:正-正、...,就不必考虑溢出了。

 

由人工计算:就可根据数据的符号来判断,如:

  正+正,出现负的结果;

  负+负,出现正的结果;

  ... ...

 

  发生上述四种之一,就是溢出。

 

另外,也可考查进位与次高位的进位,两者不同,就是溢出。

 

用 CPU 计算:CPU 能够自动判断,如果发生溢出则会置位 OF。

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

热心网友 时间:2023-10-06 09:37

使用二进制计算的时候会出现溢出现象,是因为计算机都有它的上限和下限,太大的数值和太小的数值都是无法显示出来的。

计算机中用补码来表示和存储数值,而在进行数值的算术运算时由于机器字长的*往往会出现补码溢出,导致计算结果错误。

针对这个问题,提出了一种根据溢出结果得到正确结果的计算方法:

两个正数相加溢出时,将错误解加上2~(n+1)即为正确解;

两个负数相加溢出时,将错误解减去2~(n+1)即为正确解。

热心网友 时间:2023-10-06 09:38

溢出,是指数据的大小,超出了编码所能表示的范围。
 
不仅是二进制,任何进制的计算,都可能产生溢出。
比如:1999 年、2000 年 ...,这是用四位十进制表示。
当到了 9999 年,再过一年,你如果还用四位表示,这就溢出了。
 
字长为 8 位二进制,补码的范围是-128 至+127。

那么,+125 + 4 = +129,这就溢出了。
为什么使用二进制计算的时候会出现溢出现象?

使用二进制计算的时候会出现溢出现象,是因为计算机都有它的上限和下限,太大的数值和太小的数值都是无法显示出来的。计算机中用补码来表示和存储数值,而在进行数值的算术运算时由于机器字长的限制往往会出现补码溢出,导致计算结果错误。针对这个问题,提出了一种根据溢出结果得到正确结果的计算方法:两个正数...

二进制 溢出问题

计算错误,溢出分上溢和下溢。两个大数相加得出的书比任何一个数都小,这就是上溢!这个跟你的寄存器的大小有关系,比如说你的寄存器大小是-9999到9999,你计算8888+2222正确结果是10000,但是结果超出寄存器的有效数了,当然移位器就会在右移操作中把1移掉了(为了便于理解,我这把计算机的计算都认为...

二进制补码计算,关于溢出的问题!

溢出,一般来说,就是指“容器太小”。无论什么进制,都有可能会溢出。比如说,电话号码,由 7 位,升到 8 位,这是为什么呢?就是因为 7 位,容纳不了那么多的号码,不升位,将会发生溢出。计算机领域中的溢出,是指数据大小,超出了计数编码所能表示的范围。早期的计算机,年份,是以两位数来...

什么是溢出,为什么会有溢出现象呢?

计算机在运算中产生溢出的原因主要是因为计算机所使用的存储空间有限,即使对于最高位的数值也只能用固定位数的二进制数字表示。因此,当一个数的值超过了所分配的位数时,就会发生溢出现象。具体地说,整数加法中溢出的发生主要取决于两个数的符号和它们相加后的符号。如果两个数的符号相同而相加后的结果...

二进制的溢出问题

以8位的数字为例,记最右边的那位数为第0位,有符号数加减的溢出取决于8位的数字和第7位(即最高位左边那一位和最高位)这两个数字是否相同,若相同则没有溢出,若不同则溢出。无符号数加减则是有进位就算溢出了。至于后面那个,算有符号,结果为-1,没有溢出。

用二进制补码计算(-83)+(-82),如果出现错误,请说明原因。

8位二进制有符号数补码表示的范围是-128-+127,(-83)+(-82)超出了其能表示的范围,所以出现溢出,计算结果出错。

急求:溢出问题

用int 溢出,说明你的编译器里面int是16位的,即2个字节.最高位是符号位.那么表示的最大范围是-32768~32767 而50*50*50在运算的时候,会不断的进位,导致最高位符号位变成非0.这个时候正数就变成了负数,产生了那样的结果.溢出的结果也不是随机的,而是如果计算的结果的二进制码超过了它的长度(比如你...

为什么溢出?

这是因为 long 和 double 的表示范围不同,表达式是先计算 c*789, c 是 long int 类型, 789 编译器默认使用 int 的类型, long int * int, 结果结果会用 long int 类型的编译器中间变量来存储, 这个结果再赋值给 double 类型变量 f, 溢出是在计算 466438237*789 时发生的 表达式 (double...

负溢是什么

在计算机系统中,负溢一般指的是数据或计算结果超出了其可表示的范围而导致的溢出现象。在数值计算过程中,特别是在进行算术运算时,如果被处理的数据超出了数据类型能够表示的最大值或最小值范围,就会发生溢出现象。在二进制运算中,当正数进行加法运算或负数进行减法运算的结果超出了该数值类型所能表示的...

两个补码数相加只有在什么时有可能产生溢出

2. 当两个补码表示的数相加结果超出了所使用的数据类型的范围时,也可能产生溢出。这是因为不同的数据类型有不同的取值范围,如果相加的结果超出了该数据类型的范围,就会产生溢出。在实际内容中,如果使用二进制补码表示法进行计算,那么必须考虑到计算机所能表示的最大正整数和最小正整数以及所使用的...

什么是二进制?二进制怎么算? 计算机十进制转二进制算法 二进制运算怎么判断溢出 十进制怎么转为二进制 二进制转十进制计算器 二进制溢出怎么得结果 二进制加法溢出怎么办 二进制如何判断溢出和进位 2的二进制怎么算
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...90千瓦星角起动.60千瓦小容量电机和照明.请问用多大的铝芯线合适... ...星、三角起动,需截面多大的主线和电机负荷线,最好有计公式 梦见有人不断说我是魂古命的人 手相有田字纹代表什么,会越来越富的女人手相 ...旁边有活水流出!同时还梦见一个道士给看手相说过一阵运气就会好,今... 王者荣耀新英雄影如何获得 王者新英雄影怎么获得 说话中气不足锻炼方法 ...里面的油,可以用吸油管子吸出来吗?小车,凯美瑞。不知道有防盗网吗... qq密码忘记我输入现在的qq密码为什么出现以前的qq号呢我想 以爱自然就是爱自己为题,写一篇800字作文 敌营十八年中 江波 康瑛 滕玉莲 罗茂莉结局时分别怎么样了 敌营十八年里最后江波跟谁在一起…详细的大结局… 谁有江波于海龙用锤子杀人的那部叫《插翅难逃》的电视剧阿,跪了,谢谢!541601777@qq.com 与其对家人隐姓埋名相比这句话是什么意思? 为什么有的老板鱼有氨水味 姜波在健康之路上介绍调配鱼露汁,他详细介绍了鱼露放多少?糖放多少?不记得量了 有谁看过老版的《插翅难逃》,江波于海龙用铁锤杀人的故事? 找视频 江波饺子馅怎样做 电视剧敌营十八年中江波最后找到自己的女儿了吗? 敌营十八年江波结局 家政女皇姜波教过怎么做虾好吃吗 如何在游戏中培养小班幼儿的生活自理能力 关于对杨悦老师的访问? 菠萝到底是长在哪里的?有人说长在树上,有人说在地上生长。 菠萝 是树上结的 还是 种在地上的 菠萝是长树上的吗? 菠萝是树上长得还是什么? 菠萝是生长在树上还是地上? 菠萝是长在树上还是地下的? (你爱护大自然,就是爱我们自己)出自什么歌? 怎样保护大自然 关于保护大自然,我们应该做些什么? 爱护大自然的标语 关于“保护大自然”的提示语或劝告语有哪些? 计算机中二进制加减法时,是如何判断溢出的? 以“爱护大自然”为开头写一段话 谈谈敬畏自然,爱护自然,应该怎样做 二进制运算中有溢出就一定有进位吗?请简要说明为什么。 二进制如果两个数相乘溢出问题怎么解决? 我们都要保护大自然 二进制中的溢出如何判断,请详细解答。。谢谢 爱护大自然的标语。 保护大自然的宣传语 二进制溢出怎么判断,比-1--2溢出了吗?怎么看的? 如何爱护大自然四年级作文 爱护大自然的文章? 计算二进制溢出判断时候,什么是符号位进位和最高位进位? 爱护大自然的名言名语 为什么要爱护大自然