bignum太大,无法转换为“长”错误

时间:2010-11-25 09:21:23

标签: ruby-on-rails crc

我在执行下面的代码时遇到此错误

@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 个答案:

答案 0 :(得分:1)

尝试对ruby Integer类进行操作:

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

当Integer对于Fixnum来说太大时,它会自动转换为Bignum。