BigIntは何桁までの整数を演算できるのかという記事があります。 (以下参照)

bigint 型の最大値は一般的に 9,223,372,036,854,775,807 です。この値は、データベースシステム(SQL ServerPostgreSQLMySQLなど)で一般的に使用される 64 ビットの符号付き整数に対応しており、-2^63 から 2^63-1 の範囲で値を表現します。

「BigInt」と「SQLのBIGINT」では「制限なし」の度合いが異なりますが、どちらも従来のデータ型よりも広い範囲の整数を扱えます。JavaScriptのBigIntは任意精度の整数(任意精度演算)であり、事実上、ビット数の制限なく巨大な整数を扱えます。

 

本BigInt_for_swiftでは整数の桁数に制限はありません。敢えていうなら「CPUとメモリーの許す限り」と言えます。各自の持っているMacの性能次第ということですね。私の環境は Mac Studio M3 64G です。

 

BigInt内に乱数関数があるのでとびっきり大きな整数を発生してみましょう。

let r: BigInt = BigInt.random(digits: base)// base桁の乱数rを発生する

 

override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view.

        let base : Int = 100000

        let r: BigInt = BigInt.random(digits: base)//100000桁の乱数を発生する

            

        let a = r * r// r * r の値を取得

        let b : Int = a.digitCount// aの桁数を返す

        print("r * rの桁数: \(b)")

}

r * r の桁数は 200000桁 になります。

もちろんこの程度よりはるかに大きな値を計算することもできますが、よほど目的を持った計算でなければ現実的ではありません。