标题:一个溢出的小程序!
只看楼主
birdfling
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-4-1
 问题点数:0 回复次数:2 
一个溢出的小程序!
#include<iostream>
using namespace std;
int main()
{
//测试溢出
short n=32767,m; //n取short类型的最大值
cout<<"n="<<n<<endl;
m=n+1; //引起溢出
cout<<"n+1="<<m<<endl;
return 0;
}


哪位对溢出有更深的理解,请教一下。
溢出的作用是什么?
谢谢了!
搜索更多相关主题的帖子: 测试 include return 最大值 
2006-04-03 16:21
名人
Rank: 1
等 级:新手上路
威 望:1
帖 子:205
专家分:0
注 册:2006-3-3
得分:0 
溢出就是溢出了,能有什么作用?
作用就是产生错误结果。

未必钱多乐便多,财多累己招烦恼。 清贫乐道真自在,无牵无挂乐逍遥。
2006-04-03 17:33
tykmn
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-4-23
得分:0 

n=32767时,内存表示为:01111111111111111;用十六位存储一个short型整数。m=n+1时,m在内存中的表示为:1000000000000000(=01111111111111111+1);这是-32768的补码形式。因此,程序将输出 -32768。计算机中的每一种数据类型都有一个范围,只能容纳该范围内的数。超出这个范围就是溢出。但是程序并不报错,要程序员来保证结果的正确。

2006-04-03 17:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-54825-1-1.html




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

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