GMP允许将mpz_t打印到基数62,但我想在任何基数N中表示一个数字,为此我首先需要生成一个整数数组(让我们说我将自己限制为基数2 ^ 64),所以unsigned long
的数组可能会这样做。
例如,如果我想取任何整数并将其转换为基数792,我不能直接将它放入字符串中,我必须首先创建一个整数数组。
GMP中是否有现有的代码,比如我需要学习的某种数学,或者我应该开始编码吗?
P.S。 我知道在使用“线性向量空间”时使用术语“基础”是完全无关紧要的,因此它使转换毫无意义,但unicode中有很多符号(unicode 3.2中有95,221),所以我仍然可以找到用单个符号表示的方式。
答案 0 :(得分:2)
在内部,GMP的功能直接或间接调用mpn
层 - 这里记录了:
http://gmplib.org/manual/Low_002dlevel-Functions.html#Low_002dlevel-Functions
mpn_get_str
仅支持最高256的基数。所以我认为除非你编写自己的基本转换(这根本不是微不足道的),否则你可以更高。