2009-06-28 14 views
15

Busco una clase de C++/biblioteca que proporciona 1.024 bits y más grande enteros y operaciones de bits como: - desplazamiento de bits, - OR bit a bit/Y, - primera posición de bit ceroBIGINT (bigbit) biblioteca

la velocidad es crucial, por lo que tendría que implementarse con algún ensamblaje SIMD.

Respuesta

14

Hay varios, incluido GMP, pero para la velocidad, lo mejor es TTmath. La decisión de diseño de TTmath de usar longitudes fijas temporales en tiempo de compilación permite que sea bastante rápido.

4

prueba gmp library. Es una biblioteca C A partir de GMP 4.0, se incluye un contenedor de C++ con el lanzamiento.

1

Simplemente considere la multiplicación de enteros grandes, la biblioteca TTmath usa el algoritmo Karatsuba, que tiene una complejidad de tiempo $ O (n^{1.585}) $. El algoritmo más rápido es $ O (n log n log log n) $, usando FFT.