见标题。返回值是 32 位,对吧?为什么不返回一个int?
问问题
5467 次
2 回答
23
因为如果它返回一个 int,一半的 CRC 将是负数。预期是 32 位 CRC 是无符号的,即 0..4294967295,它不能用 int 表示。
于 2013-06-12T23:19:26.377 回答
9
java.util.zip.CRC32
实现Checksum
接口,它需要一个long
返回类型 for getValue()
,因此需要long
一个 32 位校验和;输出的高 32 位几乎肯定是 0。
于 2013-06-12T22:41:33.580 回答