我还是学生,我觉得项目Euler非常有趣。
有时问题需要比原始类型更大的计算。我知道你可以实现它,但我懒得这样做,
所以我尝试了几个库,
MAPM ::性能非常好,但它只提供大浮点数,可以检查它是否为整数。非常好接受输入,但讨厌提供输出,并使用Visual C ++ 2008 express编译像魔术一样。
bigint ::一个小的,但需要在很多部分进行重新设计。使用非常简单,但功率非常有限,与其他产品相比非常慢。只有大整数。
ttmath ::我迄今为止尝试过的最漂亮的一个!,只包含一些文件,你有着令人难以置信的力量/简洁性。在Visual C ++ 2008 express中编译像魔术一样。它很快,因为它提供固定长度的数字。它是在C ++中使用元编程构建的。我看到的唯一缺点是数字在运行时的长度并不是任意的,但在编写代码时可以有1024K的数字,
ttmath::UInt<1024 * 1024> reallyHugeUnsignedInteger;
它提供三种类型:signed,unsigned和float。
我试着在VC2008 express下编译gmp,但是我失败了!我知道它是最好的,但是对于VC2008 Express下的初学者来说很容易编译,如果你指向一个在VC下编译gmp的教程,我也很感激。
编辑::如果您知道如何使用VC 2008编译gmp,请向我解释并获得赏金:)
EITD ::似乎我没有使用正确的术语,所以这里是Windows的神奇GMP!适用于VC 2008:) MPIR
答案 0 :(得分:5)
以下是有关GMP和Visual Studio 2008的几个链接:
GMP Compile Guide at The Edge Of Nowhere(这个看起来非常彻底)
答案 1 :(得分:4)
...或者只是尝试PARI / GP http://pari.math.u-bordeaux.fr/
答案 2 :(得分:1)
GMP。简单的API,永远存在。
编辑:哦,你试过了。我真的再试一次,这是最好的。