动机:我想使用bsearch
(二进制搜索)快速搜索 121 位非负整数的排序列表(它们都有 121 位,尽管它们可能有前导零)。这些整数太大而无法存储为单独int
的 s,依此类推,所以我打算制作它们mpz_t
(使用GMP)。
翻阅手册,GMP 没有bsearch
等效项(尽管,如果我错了,请纠正我),这导致我:
问题:我们可以使用
memcmp
或类似的东西来比较两个具有相同位数的非负整数存储为mpz_t
?如果是这样,正确的语法是什么?
如果这是可能的,搜索应该是非常有效的。
我也愿意接受有关以下方面的替代建议:(a)用于存储这些 121 位整数的数据结构,允许在 C++ 中进行快速搜索,(b)用于搜索不使用的整数的方法memcmp
。