3* 1000000000作为整型溢出,但变量为long long。为什么?[复制]

3* 1000000000作为整型溢出,但变量为long long。为什么?[复制]

这个问题在这里已经有答案了:

long [long long是8字节,但我得到的是整数overflow?(1个答案)

为什么long long n = 2000*2000*2000*2000;溢出?(6个答案)

三年前就关门了。

我有一个简单的c++应用程序,它执行以下计算

代码语言:javascript运行复制long long calcOne = 3 * 100000000; // 3e8, essentially

long long calcTwo = 3 * 1000000000; // 3e9, essentially

long long calcThree = 3 * 10000000000; // 3e10, essentially如果我编写每个计算的结果,我会得到以下输出:

代码语言:javascript运行复制calcOne = 300000000

calcTwo = -1294967296

calcThree = 30000000000那么为什么第二次计算会失败呢?据我所知,它在long long类型的范围内(calcThree更大...)。

我正在Windows 10上使用Visual Studio 2015。提前谢谢。

相关文章

365结束投注 100以内的质数记忆法

100以内的质数记忆法

🗓️ 07-11 👁️ 5558
彩票365苹果版怎么下载不了 光盘刻录后可以再次再次刻录吗(清空或覆盖)
365体育投注网址亚洲下载 如何玩游戏锁定输入法

如何玩游戏锁定输入法

🗓️ 06-28 👁️ 2426
365体育投注网址亚洲下载 女欧洲杯 希腊女篮vs土耳其女篮 比分预测 2025/06/22
365体育投注网址亚洲下载 ​ysl星辰52和13号哪款火 圣诞星辰限量52和13号试色图
365结束投注 dnf暗帝和剑魔哪个好

dnf暗帝和剑魔哪个好

🗓️ 09-27 👁️ 3473