私は現在、数字を7桁で分割して、独自のBigIntクラスを作成しています。(つまり、ベース 10,000,000)
足し算、引き算、掛け算を実装し、現在は割り算と mod を実装しています。長い除算による除算 (最上位桁を除算して数値を推定する) を実行するコードを書きましたが、それは機能します。
ただし、遅すぎます。108 桁の数値と 67 桁の数値で演算をテストすると、除算の計算に 1.9 ミリ秒かかり、他の演算 (加減算の計算に 0.007 ~ 0.008 ミリ秒、乗算の計算に 0.1 ミリ秒) よりもはるかに遅くなります。
カラツバや高速乗算のための FFT アルゴリズムのように、除算を計算するためにどのようなアルゴリズムが存在しますか? ウィキペディアはいくつかの除算アルゴリズム (除数の乗法逆数を計算し、それを被除数で乗算する) を示していますが、除算の実装にはあまり役立たないと思います。「大規模整数メソッド」セクションも読みましたが、それも役に立ちません... :(