标签: python hash truncation
我有自定义__hash__功能。
__hash__
我知道hash(object)截断到指定的整数宽度。那是我系统上的64个。
hash(object)
但是,如果& 0xffffffffffffffff被我的自定义哈希函数踢出的值,它有时(但不总是!)被截断变异。
& 0xffffffffffffffff
发生了什么事?
答案 0 :(得分:1)
Python哈希是签名整数。您的__hash__输出可能适合无符号的64位int,但不一定是签名的。 (另外,这不是你看到的截断。)