无限大小的整数

Integers of unlimited size?

本文关键字:整数 无限大      更新时间:2023-10-16

在Python中,我可以编写一个程序来计算无限大小的整数。就在前几天,我做了第一百万个斐波那契数,它太大了,无法放入控制台。如果这在 Python 中是可能的,据我所知,它是用 C 语言编写的,那么在 C++ 中怎么能做同样的事情呢?它必须是可能的,否则我看不出如何在 Python 中完成它。我也相信在Java/C#中也有类似的东西,称为Biginteger,但我找不到任何说明如何在C++中实现它的内容。

在 C/C++ 中一切皆有可能。你可以编写自己的类,称为bigInteger并使用数组来表示数字,但最好的方法是使用已经编写的库来处理大数字,因为这些数字得到了很好的优化,其中很大一部分是用asm编写的,以提高速度。以下是一些示例:

  • GMP(它还提供了一个C++接口)

  • http://www.imach.uran.ru/cbignum/

基百科列出了许多您可以使用的库。那些表示为 C 库的库也可以在C++中使用。C++没有内置的 bigint 类型。

正如这个参考资料所示,谷歌,检查维基百科,尤其是检查常见问题解答,然后再询问,这通常是一个好主意。

但是,在这种情况下,令人费解的是,FAQ似乎没有提供答案。