判定系は以下の関数を用意しています。

isZero, isPositive, isNegativeValue, isEven, isOdd

 

override func viewDidLoad() {

        super.viewDidLoad()

         

        let a : BigInt = 15

        print(a.isZero)//0ならtrue

        print(a.isPositive)//正の数ならtrue

        print(a.isNegativeValue)//負の数ならtrue

        print(a.isEven)//偶数であればtrue

        print(a.isOdd)//奇数であればtrue

  }

 

乱数発生関数は桁数を指定した乱数と範囲を指定した関数を用意しています。

 

override func viewDidLoad() {

        super.viewDidLoad()

 

        let a : BigInt = BigInt.random(digits: 50)// 50桁の乱数

        print(a)

        let b : BigInt = BigInt.random(in : 30...500)//30〜500内の乱数。

        print(b)

}

 

ユーティリティ関数

 

override func viewDidLoad() {

        super.viewDidLoad()

        let a : BigInt = 1234567890

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

        print(b)

        

        let c : BigInt = 25269

        let d : String = c.toHexString()//BigIntを16進数に変換します

        print(d)

        

        let e : BigInt = 1234567890

        let f : Int = e.toIntSafe()!//BigIntを安全にInt型に変換

        print(f)//                      オーバーフロー時は0

    }