我正在寻找一个大整数的库,但是有固定宽度(128或256就足够了)。原因是我不想在堆上进行任何分配。 我试图自己制作它们但是实现乘法,除法和模数一种有效的方式似乎是一种非常痛苦的方法。

这已经存在吗?

由于

有帮助吗?

解决方案

查看GMP库:www.gmplib.org

从功能类别中引用:

  

低级正整数,   难以使用,开销很低   函数可以在mpn中找到   类别。没有内存管理   执行;呼叫者必须确保   足够的空间可用于   结果。 (...)

这似乎就是你所需要的。

其他提示

这至少看起来很有希望(谷歌上的 int128 library 命中8)。

http://www.mx-3.cz /tringi/www/langen.php?id=int128

"与其他大型课程不同,您可以像其他P.O.D一样使用这些课程。类型(例如使用fwrite / fread从文件中存储和加载)。这些的内部表示是正确的128位小端整数。“

如果你觉得GMP太复杂了,Dave Hanson在他的书中有一些很好的功能 C接口和实现 。有一个没有分配的低级接口(你可以控制所有东西),然后有两个更高级别的接口可以逐步管理堆上的更多分配。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top