4

結果を大きな整数に格納したり、その間に算術演算を実行したりせずに、ある(任意の)基数から別の(これも任意の)基数に変換する一般的なアルゴリズムを探しています。

私が探しているアルゴリズムは、指定されたベース(ほとんどの場合文字列)の数値の配列を取り、同様に結果を返します。

助けてくれてありがとう。

4

2 に答える 2

1

それは不可能だと思います。特定のベースでは、文字をストリーミングするだけで、ある文字列から別の文字列に変換できます(たとえば、1つのベースが8進数-> 16進数のように、他のベースの倍数である場合)が、任意のベースでは、算術なしでは不可能です。オペレーション。

文字列/文字 を間に入れてそれを行う場合でも、大きな整数の算術演算になりますが、整数は(不必要な大きな)異常な形式でした。

したがって、次のいずれかを選択できます。charでエンコードされた数値を使用して算術演算を再プログラムするか、ステップを実行して大きな整数ライブラリを使用し、convert(char(base1-> bigInt)、convert(bigInt-> base2)パスをウォークします。

于 2012-04-23T15:29:55.097 に答える
0

計算可能ですが、きれいではありません。

真剣に、多くのbignumライブラリの1つを含めるか、独自のライブラリを作成する方が、おそらく簡単で高速です。

于 2012-04-24T00:12:34.713 に答える