用C++中的高数字进行计算
Calculating with high numbers in C++
我正在尝试用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;
结果将是正确的。
相关文章:
- C++如何计算用户输入的数字中的偶数位数
- 如何计算数组中元素的位数?(不是数组的长度),并计算其数字的总和
- 计算十进制 c++ 之后的数字
- 我可以通过取每个数字的模并取和来计算大数的模数吗?
- 在C++中编程,将 3 个数字发送到一个函数,然后计算这 3 个数字的平均函数
- 如何在向量中某个数字之后重新计算进程
- 如何计算整数的十进制数字?
- 如何使用count_if计算向量中的可变数字范围
- 如何计算整数链中使用了多少次数字?
- 如何计算给定数字在二叉树中出现的次数?
- C++在不使用pow或循环的情况下计算一个数字的幂
- 从文本文件中的每一行读取数字,并计算数字重复的次数
- 如何使用递归计算从 0 到给定数字的奇数?
- 在手臂氖中高效计算两个不同的数字
- 如何将此代码转换为两个以上的数字(计算HCF)
- 相同数字计算的怪异结果差异
- 用非常大的数字计算
- 猜数字:计算机要猜多少次才能得到正确的数字
- 从给定的数字计算所有可能的数字
- 根据存储在集合中的数字计算向量中的int