指定在C中使用非常大的数字

时间:2016-01-30 01:48:23

标签: c bitvector

我正在考虑使用大型整数,我认为使用Gmplib,我使用的是小例子,但它可以使用2 ^(2 ^(2 ^ 1024)之类的数字)?? ??

我的问题是如何表示这个大数字,因为(不确定)计算器也可能会溢出。

1 个答案:

答案 0 :(得分:2)

  

我正在考虑使用大型整数,我认为是使用Gmplib,我使用的是小例子,但它可以使用2 ^(2 ^(2 ^ 1024))之类的数字吗? / p>

没有。 GMP有两种操作模式:大整数和大浮点数。第一个只能对整数值可以在内存中完全表示的数字进行操作;第二个限于可以在大约64位内表示的指数。您描述的数字不符合这些限制。 (单独的指数太大而不适合记忆!)

  

我的方法:我会尝试通过将它们存储为二进制数/位向量来减少噪音,因为它会让我逃避>一个2 ^步。

您在此处或下一段中所说的内容并不完全清楚,但您所描述的内容听起来像是典型的多精度整数实现。它与GMP存储大整数的方式没有什么不同,并且它不适用于此应用程序。

您描述的比例数字不易使用。无论您是找到与他们合作的图书馆还是自己编写图书馆,都可能需要专门设计用于操作具有此特定结构的数字的图书馆。他们只是太大而无法做任何事情。