2

我现在正在解决一些关于 UVA 在线法官的问题,并且我遇到了我必须存储非常大的整数值(有时 15 位或更多)的情况。有什么办法可以在不使用第三方库的情况下做到这一点?[类似于BigIntegerjava中的类吗?]。

4

5 回答 5

2

对于带整数的 pow,http ://en.wikipedia.org/wiki/Exponentiation_by_squaring

我建议GMP

请参考此链接:- C++ 处理非常大的整数

于 2012-10-17T15:33:59.467 回答
1

不,标准库中没有这样的结构。但是您总是可以查看 GMP、MPFR 或类似的。只需在 Google 中搜索即可。

于 2012-10-17T15:30:55.283 回答
1

您可以使用 GNU 的libgmp在 C 中进行任意精度算术。

于 2012-10-17T15:31:37.357 回答
1

需要第三方库(除非您想编写自己的库)。GMP 或 MPIR 是可以选择的。

于 2012-10-17T15:30:40.540 回答
0

最容易使用的是 Boost Multiprecision

http://www.boost.org/doc/libs/1_55_0/libs/multiprecision/doc/html/index.html

这是一个简单的例子

#include <boost/multiprecision/cpp_int.hpp>

using namespace boost::multiprecision;

int main(){

     cpp_int          a_really_big_number("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000");
     a_really_big_number += 7;

}
于 2013-12-23T17:57:47.810 回答