Python - 为什么 CRC32(np.int64(1)) 的结果与 CRC32(np.int32(1)) 不同?
Python - Why is result of CRC32(np.int64(1)) different to CRC32(np.int32(1))?
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))
2583214201
1的多项式表达式,无论是int64还是int32数据类型,都应该是一样的,只是CRC32结果不同。
我已经尝试了除 1 之外的许多其他数字,但 int64 和 int32 结果的 CRC32 仍然不匹配。
如果您能帮助解决这个令人难以置信的令人困惑的问题,我们将不胜感激。
cbc32 处理字节。
int32是4个字节,1
是01 00 00 00
int64是8个字节,1
是01 00 00 00 00 00 00 00
>>> zlib.crc32(np.int64(1)) == zlib.crc32(b''.join([np.int32(1), np.int32(0)]))
True
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))
2583214201
1的多项式表达式,无论是int64还是int32数据类型,都应该是一样的,只是CRC32结果不同。 我已经尝试了除 1 之外的许多其他数字,但 int64 和 int32 结果的 CRC32 仍然不匹配。
如果您能帮助解决这个令人难以置信的令人困惑的问题,我们将不胜感激。
cbc32 处理字节。
int32是4个字节,1
是01 00 00 00
int64是8个字节,1
是01 00 00 00 00 00 00 00
>>> zlib.crc32(np.int64(1)) == zlib.crc32(b''.join([np.int32(1), np.int32(0)]))
True