結果を大きな整数に格納したり、その間に算術演算を実行したりせずに、ある(任意の)基数から別の(これも任意の)基数に変換する一般的なアルゴリズムを探しています。
私が探しているアルゴリズムは、指定されたベース(ほとんどの場合文字列)の数値の配列を取り、同様に結果を返します。
助けてくれてありがとう。
結果を大きな整数に格納したり、その間に算術演算を実行したりせずに、ある(任意の)基数から別の(これも任意の)基数に変換する一般的なアルゴリズムを探しています。
私が探しているアルゴリズムは、指定されたベース(ほとんどの場合文字列)の数値の配列を取り、同様に結果を返します。
助けてくれてありがとう。
それは不可能だと思います。特定のベースでは、文字をストリーミングするだけで、ある文字列から別の文字列に変換できます(たとえば、1つのベースが8進数-> 16進数のように、他のベースの倍数である場合)が、任意のベースでは、算術なしでは不可能です。オペレーション。
文字列/文字 を間に入れてそれを行う場合でも、大きな整数の算術演算になりますが、整数は(不必要な大きな)異常な形式でした。
したがって、次のいずれかを選択できます。charでエンコードされた数値を使用して算術演算を再プログラムするか、ステップを実行して大きな整数ライブラリを使用し、convert(char(base1-> bigInt)、convert(bigInt-> base2)パスをウォークします。
計算可能ですが、きれいではありません。
真剣に、多くのbignumライブラリの1つを含めるか、独自のライブラリを作成する方が、おそらく簡単で高速です。