我正在做一个需要非常大的数字,最多100位的项目.我已经读过java支持大整数(java.Math.BigInteger),我想知道C++中是否有类似的东西.所以,这是我的问题:是否存在实现大整数的标准或非标准c ++库?
注意:如果没有大整数的标准实现,我想要一个简单的非标准.提前致谢.
sae*_*edn 28
GNU多精度算术库做你想要的http://gmplib.org/
Gnu MP是一个C库,但它有一个C++类接口,如果你只对大整数感兴趣,你可能只是处理mpz_class.请查看我从C++ Interface General页面下面的示例
int main (void)
{
mpz_class a, b, c;
a = 1234;
b = "-5678";
c = a+b;
cout << "sum is " << c << "\n";
cout << "absolute value is " << abs(c) << "\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
小智 10
不幸的是,大数字没有标准库.你说你正在寻找一个"简单"的库,我所知道的最简单的库是InfInt.它只包含一个头文件.它的用法相当简单.这是一个示例代码:
InfInt myint1 = "15432154865413186646848435184100510168404641560358";
InfInt myint2 = 156341300544608LL;
myint1 *= --myint2 - 3;
std::cout << myint1 << std::endl;
Run Code Online (Sandbox Code Playgroud)