ScalaのBigIntが使いやすい
ScalaにはBigIntというクラスが最初から提供されている。
これがJavaのBigInteger相当のもの(実際BigIntegerをラップしている)だが、それよりも格段に使いやすい。
ポイントをメモしておく。
object ScalaList { def main(args: Array[String]): Unit = { val b1 = BigInt(100) val b2 = BigInt(200) println(b1 * b2) println(b1 + b2) println(b1 - b2) println(b1 & b2) println(b1 ^ b2) } }
- 暗黙の型変換(implicit def int2bigInt)が定義されているので、BigIntと通常の数値を演算するときにいちいちBigIntに変換する記述が必要ない。
object ScalaList { def main(args: Array[String]): Unit = { val b1 = BigInt(100) val b2 = BigInt(200) println(b1 * b2 + 500) } }
- 注意点:isValid○○系メソッドにバグあり?
自分が使ってる2.9.3もhttp://togetter.com/li/189946と同じ現象が起こった。