| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 790 人关注过本帖
标题:请大家看看这个为什么会溢出
只看楼主 加入收藏
墨清扬
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:294
专家分:817
注 册:2011-10-4
收藏
得分:0 
回复 9楼 TonyDeng
感激不尽!

酱油实习生
2012-01-15 22:44
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
我的是vc6.0++ 32位机。

8楼编译通过。

不过按9楼的讲解可以简化如下:
程序代码:
#include<stdio.h>

int main()

{
     __int64  sum;

     sum =(__int64)100000 *100000;


     printf("%I64d", sum);
}
10楼的方法在我的机子上运行通不过


梅尚程荀
马谭杨奚







                                                       
2012-01-15 22:56
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
算学到新东西了

梅尚程荀
马谭杨奚







                                                       
2012-01-15 22:57
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
這個問題的風險不在寫出100000*100000的時候,這樣寫一般人都會留神溢出,但在m=a*b的時候,就未必知道什麼時候可能遇到這個峰值,此時程序絕大多時間內都是運行正常的,只是偶爾出現問題,但很難留意到這個地方去。因此,在寫程序的時候,對實際環境中可能出現的數據應該有個摸查,瞭解其數值範圍,有針對性地設計數據類型。

[ 本帖最后由 TonyDeng 于 2012-1-16 00:18 编辑 ]

授人以渔,不授人以鱼。
2012-01-15 23:54
shixiaochi
Rank: 1
来 自:兰州
等 级:新手上路
帖 子:9
专家分:3
注 册:2012-1-16
收藏
得分:0 
回复 12楼 有容就大
可能是你的机子不支持C99吧 ll是c99的东西
2012-01-16 01:54
雨落的忧伤
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-1-16
收藏
得分:0 
我完全看不懂!!!
2012-01-16 02:38
快速回复:请大家看看这个为什么会溢出
数据加载中...
 
   



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

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