bignum の計算を高速化する 1 つの方法は、基数に高い値を使用することです。
例として、合計を考えてみましょう
12301922342343 +
39234932348823
--------------
51536854691166
この計算を手で行う場合、右端の数字から開始し、結果が 9 を超えた場合の「キャリー」を念頭に置いてそれらを合計します。右から左へ 3+3=6、4+2=6、3+8=1+キャリー 1、2+8+1=1+キャリー 1 など。
ただし、できることは、複数の桁のチャンクで計算を行うことです...たとえば
012 301 922 342 343 +
039 234 932 348 823
-------------------
051 536 854 691 166
これは以前と同じ計算ですが、基数 9 (数字は 000 から 999 まで) の代わりに基数 1000 を使用しており、同じアプローチを使用できます。右端の桁は 343+823=166 キャリー 001、342 + 384 + 001 = 691、922 + 932 = 854 キャリー 001 などです。
乗算 (除算アルゴリズムにも必要) を簡単に実行できるようにするには、32 ビット整数の基数として 9999 を選択するのが妥当です。
基数を 10**n の形式で使用すると、一度に 1 桁ずつ 10 進数で結果を簡単に出力できます。