为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 CRC32(np.int64(1)) 的结果与 CRC32(np.int32(1)) 不同?

为什么 CRC32(np.int64(1)) 的结果与 CRC32(np.int32(1)) 不同?

POPMUISE 2023-07-11 15:33:52
Python 中的 CRC32 比较:>>> zlib.crc32(np.int64(1)) == zlib.crc32(np.int32(1))False>>> np.int64(1) == np.int32(1)True>>> zlib.crc32(np.int64(1))2844319735>>> zlib.crc32(np.int32(1))25832142011的多项式表达式,无论是int64还是int32数据类型,都应该是相同的,但它们的CRC32结果不同。我尝试了除 1 以外的许多其他数字,但 int64 和 int32 结果的 CRC32 仍然不匹配。任何有助于解决这个令人难以置信的令人困惑的问题的帮助将非常感激。
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

cbc32 适用于字节。

int32是4个字节,101 00 00 00

int64是8个字节,101 00 00 00 00 00 00 00

>>> zlib.crc32(np.int64(1)) == zlib.crc32(b''.join([np.int32(1), np.int32(0)]))
True


查看完整回答
反对 回复 2023-07-11
  • 1 回答
  • 0 关注
  • 71 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信