【发布时间】:2013-07-19 21:13:47
【问题描述】:
我需要一个快速、简单的哈希函数,它为一对 uint32_t 值创建一个唯一标识符 - 所以 (2,7) 和 (7,2) 的哈希值相同。
有什么想法吗?
【问题讨论】:
-
通过位移两个数字中较小的(或较大的)并将另一个相加来创建一个 uint64。然后你只需要散列 64bit int。 (或者,让哈希函数复制该对,然后交换元素以保证顺序并在该对上应用真正的哈希)
-
@DavidRodríguez-dribeas:是的,同时我想出了解决方案,谢谢。我已经有了它的 bitshift 的东西,但你记得我比较是魔法。