补码运算中,常用检查溢出的方法有哪三种?

 我来答
沙里波特
2021-07-20 · TA获得超过5251个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:642万
展开全部
溢出,是指数据的大小,超出了编码所能表示的范围。
 
不仅是补码运算,任何形式的计算,都可能产生溢出。
比如:1999 年、2000 年 ...,这是用四位十进制表示。
当到了 9999 年,再过一年,你如果还用四位表示,这就溢出了。
 
字长为 8 位二进制,补码的范围是-128 至+127。
那么,+125 + 4 = +129,这就溢出了。

 
判断溢出的方法:
一、自己人工运算一下,如结果(符号)不正确,即为溢出。
二、编程,令 CPU 计算,如 OF=1,即为溢出。
三、上网求助高人。
龙影腾空小学生
推荐于2019-08-11 · TA获得超过1700个赞
知道大有可为答主
回答量:1680
采纳率:0%
帮助的人:2375万
展开全部
溢出判断方法一
  用Xf和Yf表示被加数和加数补码的符号位,Zf为补码和的符号位.当出现Xf = Yf= 0两数同为正,而Zf为负,即Zf=1时,有上溢.当出现Xf =Yf = 1两数同为负,而Zf为正,即Zf= 0时,有下溢.
溢出判断方法二
  当数值最高位有进位位C1=1,符号位没有进位C0=0时,或当数值最高位没有进位位C1=0,符号位有进位C0=1时,结果有溢出.
溢出判断方法三:
用变形补码进行双符号位运算.在变形补码中,正数符号以"00"表示,负数的符号以"11"表示.一般称左边的符号位为第一符号位,右边的符号位为第二符号位.若运算结果的符号位为"01",则表明有正溢出产生.若运算结果的符号"10",则表明有负溢出产生.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

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

只有“正+正、负+负”,或着“正-负、负-正”才有可能溢出。

一、首先进行简单判断。不是上述四种算法,就肯定不会溢出。

二、用十进制数值算一下,结果,如果超出了表达范围,就溢出了。

三、用二进制补码算一下,结果的符号,如果不正常,就是溢出了。

四、编程,令 CPU 计算,如果 OF = 1,就是溢出了。

五、上网求助,找贤(闲)人帮忙。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式