用c ++或c存储大数字

时间:2011-07-28 21:26:13

标签: c++ c

我正在尝试编写代码,但我遇到的问题是存储大量数据

10 ^ 100。这个数字很大

任何建议

6 个答案:

答案 0 :(得分:4)

使用任意精度库。想到的一个非常受欢迎的是GMP。它是一个C库,但它也有一个很好的C ++接口。它针对性能进行了优化,因为它被广泛使用,它可能非常强大。

答案 1 :(得分:3)

重新定义您的单位。很少有一种数量变化那么多。任意精度库都不是一个坏主意......但如果可以牺牲速度的准确性,你可以使用浮点。

答案 2 :(得分:2)

您需要一个多精度算术库。

最受欢迎的可能是GNU MP - http://gmplib.org/

答案 3 :(得分:2)

在C ++中,您可以使用许多可用的Big Integer Libraries

中的任意一个

答案 4 :(得分:2)

你需要整数精度吗?如果是这样,GMP,如果没有,浮点数或双倍数就可以。

答案 5 :(得分:1)

如此大的数字(10 ^ 100) - 假设^表示“权力” - 将不适合任何整数类型。您可以使用浮点类型(此处优先double)和pow(),但您仍然会失去精度。如果你真的需要100位或更好精度的整数,那就得到第三方BigInt实现之一并使用它。如果您不需要100位精度,则使用double,这是语言的一部分。