3

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 になるのか興味があります。

4

1 に答える 1

0

この投稿に記載されているバグが発生していることは間違いありません。

Ruby トランクへのこのコミットによって修正され、Ruby 1.9.3-p0 以降になったようです。

于 2013-04-16T17:23:20.657 に答える