计算机运算时是如何判断发生溢出的?

我记得好像看过正数+正数=负数、负数+负数=正数的时候就发生了溢出!谁能解释一下计算机判断溢出的法则?!... 我记得好像看过 正数+正数=负数、负数+负数=正数 的时候就发生了溢出!
谁能解释一下计算机判断溢出的法则?!
展开
 我来答
出生神探
2011-04-12 · 超过23用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:40.8万
展开全部
要通过计算机运算,就先的申请计算机内存,存储数据,申请的时候数据有数据类型,数字的话用int类型举例把,int在不同的语言中他占用的内存是不同的,就以c语言为例,是占用8个字节,在计算机中是以2进制表示(00000000 00000000)共8位(最高位是0代表正数,1则是负数);2个数相加就是2个16位的2进制相加,比如01000000 00000000(16384)+01000000 00000000(16384)=10000000 00000000 ;这就溢出了,因为最高位是符号位,1代表负数;大概是这样把,不知道有错的没,呵呵
气愤我不注册了
2011-04-12 · TA获得超过120个赞
知道答主
回答量:94
采纳率:0%
帮助的人:75.2万
展开全部
如果是有符号数加法,把运算结果最高位的进位和次高位向最高位的进位相异或,如果异或结果为一,则发生了溢出,如果为零,则没有溢出。如果是无符号加法,则看溢出标志位OV,如果OV为一,则发生了溢出,如果为零则没有溢出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2011-04-12 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
计算机运算时是如何判断发生溢出的?
-------
“计算机运算”,这里面有软件和硬件方面的判断层次。
硬件就是CPU。
CPU是大规模的集成电路,其中有个异或门
它把运算结果最高位的进位和次高位向最高位的进位相异或,送到OF标志位。
软件则要根据OF的值来判断,OF=1则是溢出。
追问
最高位是符号位,另一个哪来的?具体情况是怎么回事?
追答
最高位是符号位,另一个哪来的?
-- 一个是最高位的进位,即是符号位的进位;
--另一个是“次高位向最高位的进位”,即数值向符号位的进位。
具体情况是怎么回事?
--说来话长。请参考原码、反码、补码的概念,以及补码的运算等等。
--其实,这些楼主是应该懂得的,否则怎么就能问到“溢出的判断”的问题?
--再具体深入的说,就不是“计算机运算时是如何判断发生溢出的?”的问题了;
--而是:人,如何“判断溢出”的问题了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
至尊老大
2011-04-12
知道答主
回答量:55
采纳率:0%
帮助的人:17.5万
展开全部
超过字符长度就溢出了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9b702d8
2011-04-12 · 知道合伙人IT服务行家
百度网友9b702d8
知道合伙人IT服务行家
采纳数:254 获赞数:1568
计算机技术与软件资格嵌入式系统设计师

向TA提问 私信TA
展开全部
坐而论道是真相
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式