用C ++中的高数字计算

时间:2016-08-01 04:02:34

标签: c++ xcode primes

我正在尝试用C ++编写一个主要查找器。我有一个功能正常的程序,我很满意,但当我尝试计算数十亿的素数时,我收到类似这样的错误消息:

  

“从'long'到'int'的隐式转换将值从10000000001更改为141006540​​9”。

即使在数十亿的情况下,它的工作速度也相当快,所以我想测试极限,但是这个数字的变化就会停止。

1 个答案:

答案 0 :(得分:1)

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

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

长整数

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

结果是正确的。