在c++或c中存储大数字

storing big numbers in c++ or c

本文关键字:存储 数字 c++      更新时间:2023-10-16

我正试图写一个代码,但我被卡住的地方是存储一个大数字

10 ^ 100。这个大的是数字

任何建议

使用任意精度标准库。我想到的一个很流行的词是GMP。它是一个C库,但它也有一个很好的c++接口。它针对性能进行了优化,并且由于它被广泛使用,因此它可能非常健壮。

重新定义单位。一种数量很少会有这么大的变化。任意精度库不是一个坏主意……但是,如果可以为了速度而牺牲精度,则可以使用浮点数。

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

最流行的可能是GNU MP - http://gmplib.org/

在c++中,你可以使用任何一个可用的大整数库

需要整数精度吗?如果是,GMP;如果不是,float或double也可以。

这么大的数字(10^100)——假设^指的是"幂"——不适合任何整数类型。您可以使用浮点类型(这里最好是double)和pow(),但仍然会失去精度。如果您确实需要100位或更高精度的整数,请使用第三方BigInt实现之一。如果你不需要100位的精度,那么使用double,这是语言的一部分。