c++ - C++ 中的长整数溢出

标签 c++

<分区>

为什么下面的代码给出整数溢出警告:

#include <stdio.h>

int main()
{
    long long int x = 100000 * 99999;
    return 0;
}

而下面的代码完美运行:

#include <stdio.h>

int main()
{
    long long int x = 100000000000000;
    return 0;
}

最佳答案

因为这里

long long int x = 100000 * 99999;

两个整数相乘。尝试

long long int x = 100000LL * 99999;

关于c++ - C++ 中的长整数溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44874465/

相关文章:

c++ - 检查字符串中数字的总和 C++

C++如何将argv作为字符串保存到 vector

c++ - 模板和 STL

c++ - OpenCV:检查cv::Point是否已设置值

c++ - 从模板函数调用的模板类的模板成员函数

c++ - 苹果 clang ;将 C++11 与 libstdc++ 结合使用

c++ - 在派生虚函数中强制执行正确的参数类型

c++ - 为什么这个 QWidget 不更新它的几何图形?

c++ - 求数字平方根的程序

android - 如何从 C++ 代码生成 arm64-v8a 64 位共享对象?