新手必犯错误之溢出

关于溢出问题之一二

今天刷题很不幸遇到溢出的问题,相信点进来看文章的你也是,那么我们来重温一下溢出的问题,希望能给你帮助。

直接上图,直面对比int (整型)、long long(长整型)和double(双精度)的取值范围。上图前,大致给出范围以有助记忆:
int:-2 * 109 ~ 2 * 109 ;
long long: -9 * 1018 ~ 9 * 1018 ;
double :-2 * 101024 ~ 2 * 101024
下面用实例证明,采用阶乘运算,计算23!,来看下结果吧:
int:
1
1
2
6
24
120
720
5040
40320
362880
3628800
39916800
479001600
1932053504
1278945280
2004310016
2004189184
-288522240
-898433024
109641728
-2102132736
-1195114496
-522715136
862453760
在这里插入图片描述
long long:
1
1
2
6
24
120
720
5040
40320
362880
3628800
39916800
479001600
6227020800
87178291200
1307674368000
20922789888000
355687428096000
6402373705728000
121645100408832000
2432902008176640000
-4249290049419214848
-1250660718674968576
8128291617894825984在这里插入图片描述
double:
1.000000
1.000000
2.000000
6.000000
24.000000
120.000000
720.000000
5040.000000
40320.000000
362880.000000
3628800.000000
39916800.000000
479001600.000000
6227020800.000000
87178291200.000000
1307674368000.000000
20922789888000.000000
355687428096000.000000
6402373705728000.000000
121645100408832000.000000
2432902008176640000.000000
51090942171709440000.000000
1124000727777607700000.000000
25852016738884978000000.000000在这里插入图片描述
相信看到这里,大家对溢出又有了更深刻的理解,我们下次错误见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值