这个问题在这里已经有答案了:
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。提前谢谢。