是否有任何内置类可以处理C 中的大整数值

Are there any built-in classes to handle large integer values in C++?

本文关键字:整数 处理 任何 内置 是否      更新时间:2023-10-16

我现在正在在UVA在线法官上解决一些问题,并且我遇到了我必须存储非常大的整数值(有时15位或更多)的方案。如果没有第三方库的使用,我有什么办法可以做到的?[与Java中的BigInteger类相似的东西?]。

用于整数的功率,http://en.wikipedia.org/wiki/wiki/exponention_by_squaring

我建议GMP

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

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

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

您可以在c。

中使用GNU的libgmp进行任意精度

最容易使用的是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;
}