| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1009 人关注过本帖
标题:of溢出问题
只看楼主 加入收藏
a261935348
Rank: 2
等 级:论坛游民
帖 子:35
专家分:12
注 册:2012-5-27
结帖率:80%
收藏
 问题点数:0 回复次数:13 
of溢出问题
1.  87H+79H    2.  98H+BAH  3.  46H+5AH  4.   FFH+EEH
帮我算下这几个值的OF值!OF值什么时候溢出?我有点搞不懂!
2012-05-27 15:26
阴阳
Rank: 4
等 级:业余侠客
帖 子:102
专家分:297
注 册:2012-4-7
收藏
得分:0 
用双进位发判断是否溢出,溢出就是超出你所用数的格式的范围,比如你用的是二位十六进制数,算出的结果就不能超出0ffH
双进位发就是:将最高位的进位与次高位的进位进行异或,结果为1就是溢出,为0就是没有溢出。你先自己算吧,算的时候把十六进制转换成2进制算

一阴一阳之谓道!
2012-05-27 16:36
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
对这个也很陌生。貌似要看具体的情况 比如数据的表示形式。这个决定他的表示范围的吧。
网上说 无符号数的相加不考虑溢出;有符号数相加不考虑进位。
这个怎么解啊

我感觉87H+79H = 100H如果是一个字节的无符号数 已经大于0FFH了 OF应该置1才对。怎么会说不考虑?
收到的鲜花
  • a2619353482012-05-29 09:02 送鲜花  3朵  
  • a2619353482012-05-29 09:08 送鲜花  3朵  

梅尚程荀
马谭杨奚







                                                       
2012-05-27 18:44
powlin1991
Rank: 2
等 级:论坛游民
帖 子:51
专家分:22
注 册:2012-2-22
收藏
得分:0 
87H+79H
87H = 10000111b -------------这个是负数,取其补码为01111000,加1后为01111001b = 121,所以就是-121
79H = 01111001b = 121
相加后为0,在 -128 -- 127这个范围内,所以没有溢出,所以OF是0

其他几个是类似的,我也是初学者,算错了的话请各位不要介意。。。
收到的鲜花
  • a2619353482012-05-29 09:08 送鲜花  3朵  
2012-05-27 21:21
powlin1991
Rank: 2
等 级:论坛游民
帖 子:51
专家分:22
注 册:2012-2-22
收藏
得分:0 
上面说错了,不是取补码,是取反加一。
2012-05-27 21:22
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 4楼 powlin1991
问题是 87H 的二进制是 10001111 这个可以看成是135 和 -121的补码 。在16位机里究竟选哪个?

梅尚程荀
马谭杨奚







                                                       
2012-05-27 22:13
powlin1991
Rank: 2
等 级:论坛游民
帖 子:51
专家分:22
注 册:2012-2-22
收藏
得分:0 
回复 6楼 有容就大
是-121,有符号计算范围是 -128 -- 127
2012-05-28 22:22
a261935348
Rank: 2
等 级:论坛游民
帖 子:35
专家分:12
注 册:2012-5-27
收藏
得分:0 
回复 2楼 阴阳
我算了一下第一个87H+79H    10000111
                        +  01111001  
                        = 100000000   那最高位就是1咯次高位是0 那异或的话就是1咯 可是答案为什么是0呢 ?是答案有错呢还是我算错了?
2012-05-29 09:00
a261935348
Rank: 2
等 级:论坛游民
帖 子:35
专家分:12
注 册:2012-5-27
收藏
得分:0 
回复 3楼 有容就大
算了一下 好像就是这样算的!谢谢
2012-05-29 09:07
a261935348
Rank: 2
等 级:论坛游民
帖 子:35
专家分:12
注 册:2012-5-27
收藏
得分:0 
回复 5楼 powlin1991
负数的反码加1不就是补码么~呵呵
2012-05-29 09:10
快速回复:of溢出问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016738 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved