bignum слишком большой, чтобы преобразовать его в «длинную» ошибку - PullRequest
0 голосов
/ 25 ноября 2010

Я получаю эту ошибку при выполнении кода ниже

@crc=0xFFFFFFFF  
@index=0

7.times { |n| 
@index+=@crc**@a[n]
@crc=@crc >> 8
puts @crc
**@crc=@crc**@reverse_crc[@index]** - this is the line i am getting above error while execute
puts @crc
} 

У кого-нибудь есть решение этой проблемы?

1 Ответ

1 голос
/ 25 ноября 2010

Попробуйте использовать классы ruby ​​Integer:

@crc = Integer(@crc ** @reverse_crc[Integer(@index)])

Когда Integer слишком велик для Fixnum, он автоматически конвертируется в Bignum.

...