判定系は以下の関数を用意しています。
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
}
