RubyのFixnumは符号付き31ビットだと思っていたら、いつの間にか符号付き63ビットになっていた。厳密には環境依存らしいけど、今どきの64ビット環境なら大体は
irb> 0.sizeなんだろう。家のMacはそうだった。
=> 8
irb> (2**62-1).class
=> Fixnum
irb> (-2**62).class
=> Fixnum
符号付き31ビットって±10億程度、100均の電卓に毛が生えた程度の精度しかないので、結構簡単にBignumになるのは嫌だなぁ、と思っていたのだけれど、63ビットあれば大抵のことはFixnumで片付くね。
0 件のコメント:
コメントを投稿