我正在尝试在ruby中计算2^1000
,但我对不同版本的结果会有所不同。知道为什么吗?
使用1.8.7:
~ » rbenv global system ~
~ » ruby --version ~
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
~ » irb ~
>> 2 ** 1000
0
>> exit
使用ruby 1.9.3
~ » rbenv global 1.9.3-p194 ~
~ » ruby --version ~
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12.1.0]
~ » irb ~
>> 2 ** 1000
10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376
>> exit
我可以使用该语法并使其工作,但我只是好奇为什么它在1.8.7中导致0。
答案 0 :(得分:0)
我相当确定您遇到the bug mentioned in this post。
好像它是fixed by this commit to Ruby trunk,它使它成为Ruby 1.9.3-p0及更高版本。