2

GMP では、基数 62 までの mpz_t を出力できますが、任意の基数 N で数値を表現したいので、まず整数の配列を生成する必要があります (基数 2 ^ 64 に制限するとしましょう)。の配列がそれをunsigned long行うかもしれません。

たとえば、任意の整数を 792 進数に変換したい場合、直接文字列に変換することはできません。最初に整数の配列を作成する必要があります。

GMP にこれに関する既存のコードはありますか?

PS「線形ベクトル空間」を使用できる一方で「ベース」という用語を使用することはまったく無関係であることを知っているため、変換は無意味になりますが、ユニコードには多くのシンボル(ユニコード3.2では95,221)があるため、まだ見つけることができましたそれらを単一の記号で表す方法。

4

1 に答える 1

2

内部的には、GMP の関数はレイヤーを直接的または間接的に呼び出しmpnます。

http://gmplib.org/manual/Low_002dlevel-Functions.html#Low_002dlevel-Functions

は 256 までのmpn_get_str塩基のみをサポートします。そのため、独自の塩基変換を作成しない限り (これは簡単なことではありません)、それ以上の値に達することはできないと思います。

于 2011-10-08T23:14:04.790 に答える