2009-06-28 24 views
15

我正在寻找一个C++类/库,提供了1024位和更大的整数位操作,如: - 位移, - 位或/和, - 定位第一个零位BIGINT(bigbit)库

速度是至关重要的,所以它将不得不与一些SIMD组件一起实施。

回答

14

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

4

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

1

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