我有一个简单的 c++ 应用程序,它执行以下计算
long long calcOne = 3 * 100000000; // 3e8, essentially
long long calcTwo = 3 * 1000000000; // 3e9, essentially
long long calcThree = 3 * 10000000000; // 3e10, essentially
如果我写下每个计算的结果,我会得到以下输出:
calcOne = 300000000
calcTwo = -1294967296
calcThree = 30000000000
那么为什么第二次计算会失败呢?据我所知,它在 long long 类型的范围内(calcThree 更大......)。
我在 Windows 10 上使用 Visual Studio 2015。提前致谢。