【发布时间】:2013-06-09 05:06:30
【问题描述】:
见标题。返回值是 32 位,对吧?为什么不返回一个 int?
【问题讨论】:
标签: long-integer crc32
见标题。返回值是 32 位,对吧?为什么不返回一个 int?
【问题讨论】:
标签: long-integer crc32
java.util.zip.CRC32 实现了Checksum 接口,该接口需要getValue() 的返回类型为long,因此对于32 位校验和需要long;输出的高 32 位几乎肯定是 0。
【讨论】:
因为如果它返回一个 int,一半的 CRC 将是负数。期望是 32 位 CRC 是无符号的,即 0..4294967295,不能用 int 表示。
【讨论】: