Бигинт (бигбит) библиотека - PullRequest
15 голосов
/ 29 июня 2009

Я ищу класс / библиотеку c ++, которая предоставляет целые числа 1024 и более и битовые операции, такие как - сдвиг битов, - поразрядное ИЛИ / И, - позиция первого нулевого бита

скорость имеет решающее значение, поэтому она должна быть реализована с помощью некоторой сборки SIMD.

Ответы [ 3 ]

14 голосов
/ 29 июня 2009

Их несколько, включая GMP , но для скорости лучше всего подходит TTmath . Проектное решение TTmath использовать шаблонные фиксированные длины во время компиляции позволяет делать это довольно быстро.

4 голосов
/ 29 июня 2009

try gmp library . Это библиотека C Начиная с GMP 4.0, оболочка C ++ входит в состав релиза.

1 голос
/ 21 января 2016

Просто рассмотрите умножение больших целых чисел, библиотека TTmath использует алгоритм Карацубы, который имеет временную сложность $ O (n ^ {1.585}) $. Самый быстрый алгоритм - $ O (n log n log log n) $ с использованием FFT.

...