【发布时间】:2012-01-08 01:17:40
【问题描述】:
我正在尝试在 C++ 中执行 pow(2,500)。但是我觉得long long还不够。
有人告诉我我可以使用gmp.h。但是如何在gmp 中创建pow(2,500)?
【问题讨论】:
-
已经回答。以this answer 为例。
-
@Alex:抱歉,您的回答不适合要求基于 GMP 的解决方案的问题。 (为什么?因为 GMP 比您的解决方案更节省内存。)如果您在无法使用外部库的编程竞赛中,基于十进制扩展的解决方案是可以的。否则,这是一种非常不理想的方法。
-
@Alex:更具体地说,在十进制扩展解决方案中,您使用整个 char 来存储 3.322 位数据。这意味着您有 58.5% 的空间浪费。
-
@ChrisJester-Young:让该代码每个数字仅使用 4 位是微不足道的,对吧?
标签: c++ math gmp largenumber 128-bit