2010-11-25 3 views
0

я получаю эту ошибку при выполнении кода нижеbignum слишком большой, чтобы преобразовать в `длинной» ошибки

@crc=0xFFFFFFFF 
@index=0 

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

одно есть решение этой проблемы?

ответ

1

Попробуйте работать на классах рубин Integer:

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

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