是否有任何内置类来处理C ++中的大整数值?

时间:2012-10-17 15:28:41

标签: c++ biginteger

我现在正在解决UVA在线判断的一些问题,而且我遇到了必须存储非常大的整数值(有时是15位或更多)的情况。如果不使用第三方库,我有什么方法可以做到这一点? [类似于java中的BigInteger类的任何东西?]。

5 个答案:

答案 0 :(得分:2)

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

我建议GMP

请参阅此链接: - C++ handling very large integers

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

答案 4 :(得分: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;

}