興味深い数学の問題に出くわしました。これには、 281桁を超える数字を使って数学を行う必要があります。各桁に1つのメモリユニットがあるシステムでは、これほど大きな数を表すことは不可能であることを私は知っていますが、これを回避する方法があるかどうか疑問に思いました。
私の最初の考えは、基数10(10進数)の代わりに非常に大きな基数を使用することでした。いくつか考えた後、最適な基数は桁数の平方根になると私は信じています(したがって、2 81桁の数の場合は、基数2 40 ishを使用します)。これは改善ですが、スケーリングがうまくいかず、それでも実際には実用的ではありません。
では、どのようなオプションがありますか?私は多くの任意精度ライブラリを知っていますが、この種の算術をサポートするためのスケールはありますか?
ありがとうo7
編集:もう少し考えた後、私は「最適なベースは桁数の平方根になる」について完全に間違っているかもしれないことに気付きましたが、a)それが理由です。
編集2:基数10の1000,000=基数16のF4240=基数8の364110基数16では、基数8に数値を格納するために20ビットが必要なので、基数を増やすと合計が10進数になるように見えます必要なビット数。(これも間違っている可能性があります)