2009-06-28 26 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。