Source
Changed in version 3.0: Always returns an unsigned value. To generate the same numeric value across all Python versions and platforms, use crc32(data) & 0xffffffff.
但是为什么我们需要使用二进制数都设置为1的位and呢?不管结果如何,结果都是一样的吗(因为在任何二进制数中,所有1的按位“与”将始终是相同的二进制数)?这个看似武断的细节让我很不舒服。你知道吗
Tags:
按位
&
强制将值转换为无符号整数。例如,考虑:根据您引用的注释,在3.0中,Python被更改为始终返回无符号值,而在以前的版本中,
crc32()
方法可能返回有符号值。你知道吗例如,在Python 2.7.11中:
但在Python 3.4.3中:
所以这里的值不同,但如果在Python2.7中执行按位and,则得到的值与Python3.4中的值相同:
相关问题 更多 >
编程相关推荐