用C++中的高数字进行计算

Calculating with high numbers in C++

本文关键字:数字 计算 C++ 高数字      更新时间:2023-10-16

我正在尝试用C++编写一个素数查找器。我有一个运行良好的程序,我很满意,但当我试图计算数十亿素数时,我会收到这样的错误消息:

"从'long'到'int'的隐式转换将值从10000000001更改为1410065409"。

它的工作速度相当快,即使是数十亿美元,所以我想测试极限,但这个数字的变化阻止了这一点。

您需要使用long类型(可以容纳比int更大的数字)。以下是int如何溢出的示例:

int test1 = 10;
int test2 = test1 * 89000000;
cout << test2;

带长整数

long test1 = 10;
long test2 = test1 * 89000000;
cout << test2;

结果将是正确的。