![]() |
1
32
基本上,它将long的前32位与后32位异或。下面是一个分解版本:
回答您的评论:您有一个长值,必须将其转换为int才能成为散列的一部分(结果只能是32位)。你打算怎么做?你呢 能够 只有 前32位将被忽略,这不会使它成为一个很好的散列。这样,一位输入的变化 总是 导致哈希值的单个位发生更改。诚然,你仍然可以很容易地得到碰撞-改变 二者都 例如,第7位和第39位,或者其他任何一对32位的位置相隔——但这是必然的,因为你是从2开始的 可能值为2 32 |
![]() |
2
8
|
![]() |
3
4
它需要一个(64位)
|
![]() |
redcodefinal · 用另一个整数哈希一个整数[closed] 10 年前 |