Bigint(bigbit)图书馆

时间:2009-06-28 20:23:01

标签: c++ biginteger

我正在寻找一个c ++类/库,提供1024位和更大的整数和位操作,如:   - 位移,   - 按位OR / AND,   - 位置第一个零位

速度至关重要,因此必须使用某些SIMD程序集来实现。

3 个答案:

答案 0 :(得分:14)

有几个,包括GMP,但速度方面,最好的可能是TTmath。 TTmath在编译时使用模板化固定长度的设计决定让它变得非常快。

答案 1 :(得分:4)

尝试gmp library。这是一个C库。从GMP 4.0开始,C ++包装器与该版本捆绑在一起。

答案 2 :(得分:1)

考虑大整数乘法,TTmath Library使用Karatsuba算法,其时间复杂度为$ O(n ^ {1.585})$。 最快的算法是$ O(n log n log log n)$,使用FFT。