【发布时间】:2011-11-07 04:35:09
【问题描述】:
我是一名资深程序员,但对 Ruby 不熟悉。我正在尝试移植一个名为 CheckRevision 的算法,用于在登录 Battle.net 的在线游戏服务之前检查游戏文件的完整性。
该算法使用给定公式对文件进行“散列”。没有无聊的细节,它会不断地修改值a、b 和c,它们是 64 位整数,或者在我移植的参考实现中,Java long。我的实现对于前几次迭代是正确的,但是当 int64 应该环绕它时,它变成了 BigNum。
将 FixNum 限制为 64 位的正确方法是什么,或者我应该使用其他类型吗?
【问题讨论】:
标签: ruby integer type-conversion