如何检查补码加减运算中的溢出问题

 我来答
可轩163
2015-11-06 · TA获得超过1.3万个赞
知道大有可为答主
回答量:4824
采纳率:88%
帮助的人:1786万
展开全部
若是1位符号位的普通补码,加减运算后:
若符号位S=0,结果为正,若S=1,结果为负。
还须关注符号位进位Cs、最高数值位进位Cp,
若Cs⊕Cp =0,无溢出;若Cs⊕Cp =1,有溢出,(⊕表示异或)。
.
若是双符号位的变形补码,加减运算后:
依据双符号位判断如下四种情况:
11 -----运算结果为负数;
00 -----运算结果表示正数;
10 -----运算结果下溢(负向溢出);
01 -----运算结果上溢(正向溢出)。
做而论道
高能答主

2022-05-02 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
八位的补码,可以代表十进制数的范围是:-128~+127。
当运算结果超出这个范围,就是溢出。
那么,溢出,只有四种可能:
  正数+正数、负+负、正-负、负-正。

溢出的特征是:运算结果的符号不正确。
常用的判别方法有四种:

1、你看一下源操作数的符号,不符合四种可能的组合,肯定就不会溢出。
2、你用十进制算一下,结果超出预定范围,就必定会溢出。
3、你用二进制算一下,如果结果符号,不符合逻辑关系,就是溢出。
4、编程,令 CPU 计算,如 OF=1,就是发生了溢出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式