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