Overflow in long long int



在这种情况下,我面临溢出问题,并且将输出作为7392445620511834112,我想将b和c的两个大值相乘,并希望存储该值。

#include<bits/stdc++.h>
using namespace std;
#define ll long long int
int main()
{
ll b=1000000000000000000;
ll c=2000000000000000000;
ll out=b*c;
cout<<out;
}

如果您从long long更改为unsigned long long,您可能会更接近。如果你不关心绝对精度,你可以在这里使用浮点类型,即使只有float也足以以cout正确显示输出的方式存储输出,但使用较大或较小的整数,或者当以其他方式处理输出时,你可能希望使用doublelong double来获得更大的大小和精度。不要听所有人告诉你你做错了,他们整天都在堆栈交换上争论这些事情。你是如何做它是完全好的,否则它不会编译。

相关内容

  • 没有找到相关文章

最新更新