计算机中二进制加减法时,是如何判断溢出的?

 我来答
惠企百科
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

当加法或减法的结果发生进位,必须考量到当运算的数值与结果都是unsigned numbers(无号数值,即“正数”)类型时,运算的结果就不适合使用这个数值类型。所以,在运行无号数值(正数)的加法或减法之后检查进位旗标是非常有用的作法。

“溢出”在运算结果为无号数值时容易发生,可以从有符号的运算数值预计出这类的情形(例如:两个正整数相加产生的结果为一个负数)。所以,在运行2的补数的加法或减法之后检查溢出旗标是非常有用的作法(换言之,有考虑到有号数值)。

定义A和B都是长度为n位的二进制数






以下是竖式(第一行为进位):


其中

的进位


1、输入的数是无符号整数,我们通过观察C判断是否溢出

a) C=1

i)如果是加法操作,结果不正确,结果溢出

ii)如果是减法操作,结果正确,结果未溢出

b) C=0

i)如果是加法操作,结果正确,结果未溢出

ii)如果是减法操作,结果不正确,结果未溢出。在这种情况下,结果是负数。然而,在无符号整数世界里,负数不存在,我们认识这样的操作是非法的。当然,如果认为答案是以有符号整数补码的形式出现,则结果正确。

2、输入的数是有符号整数,我们通过观察V判断是否溢出

a) V=1,结果不正确,结果溢出

b) V=0,结果正确,结果未溢出

扩展资料:

计算机的二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。由德国数理哲学大师莱布尼茨于1679年发明。

当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

参考资料来源: 百度百科-算术溢出

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式