Bigint(bigbit)库
我正在寻找一个 C++ 类/库,它提供 1024 位和更大的整数和位操作,例如: - 位移位, - 按位或/与, - 位置第一个零位
速度至关重要,因此必须使用某些 SIMD 组件来实现。
I'm looking for a c++ class/library that provides 1024 bit and bigger integers and bit operations like:
- bit shifting,
- bitwise OR/AND,
- position first zero bit
speed is crucial, so it would have to be implemented with some SIMD assembly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有几种,包括 GMP,但就速度而言,最好的可能是 GMP。 ttmath.org/ttmath" rel="noreferrer">TTmath。 TTmath 的设计决策是在编译时使用模板化的固定长度,使其速度相当快。
There are several, including GMP, but for speed, the best is likely TTmath. TTmath's design decision to use templated fixed lengths at compiletime lets it be quite fast.
尝试 gmp 库。 它是一个 C 库。 从 GMP 4.0 开始,C++ 包装器与版本捆绑在一起。
try gmp library. It is a C library. Beginning with GMP 4.0 a C++ wrapper is bundled with the release.
仅考虑大整数乘法,TTmath 库使用 Karasuba 算法,其时间复杂度为 $O(n^{1.585})$。
最快的算法是 $O(n log n log log n)$,使用 FFT。
Just consider the big integer multiplication, the TTmath Library use Karatsuba algorithm, which has time complexity $O(n^{1.585})$.
The fastest algorithm is $O(n log n log log n)$, using FFT.