用c ++或c存储大数字

我正在尝试编写一个代码,但我遇到的地方是存储一个大数字

10 ^ 100。 这个数字很大

有什么建议

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

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

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

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

在C ++中,您可以使用许多可用的Big Integer库中的任何一个

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

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