Экспонирование в Ruby 1.8.7 возвращает неправильные ответы

Я столкнулся с этой проблемой, когда пытался вычислить 3 ** 557 в irb. Ruby и MacRuby оба установлены на моем Mac (OS X 10.8). И версия ruby - 1.8.7, MacRuby 0.12 (ruby 1.9.2). Ребро и Макирб дали мне два разных ответа на вычисление 3 ** 557. (Macirb 's является правильным.)

$ irb
>> 3**557
=> 54755702179342762063551440788945541007926808765326951193810107165429610423703291760740244724326099993131913104272587572918520442872536889724676586931200965615875242243330408150984753872526006744122187638040962508934109837755428764447134683114539218909666971979603

$ macirb
irb(main):001:0> 3**557
=> 57087217942658063217290581978966727348872586279944803346410228520919738045995056049600505293676159316424182057188730248707922985741467061108015301244570536546607487919981026877250949414156613856336341922395385463291076789878575326012378057561766997352898452974964563

И тогда я попробовал что-то большее, например 3 ** 5337, и я получил тот же ответ на этот раз.

Итак, это ошибка в Ruby 1.8.7, или я должен использовать другой способ вычисления возведения в степень?

Ответы на вопрос(5)

Ваш ответ на вопрос