首页 > 解决方案 > 大数的乘法产生错误的值

问题描述

我有代码

long long x = 200000 * 200000;
cout << x << endl;

它输出 1345294336 我尝试转换为字符串并输出每个数字,它仍然输出相同的东西

标签: c++integer-overflowlong-long

解决方案


尝试

long long x = 200000LL * 200000LL; 
std::cout << x << std::endl;

注意“LL”后缀。要阅读有关使用数字文字后缀的更多信息,请访问cppreference.com上的整数文字页面。


推荐阅读