0

对于我的哈希表,我需要从输入中生成一个 uint32 类型的唯一键:一个 uint32 和一个 uint64 变量。你能帮我生成一个 uint32 类型的唯一密钥吗?

输出:一个 uint32 唯一值。

输入:一个 uint32 和一个 uint64

你能帮我讲一下逻辑吗

4

1 回答 1

1

我了解您正在为哈希表实现哈希函数。基本上,您可以使用 xor 折叠 uint64_t,并使用 uint32_t 对结果进行 xor。

uint32_t hash( uint32_t a , uint64_t b ) {
  return a ^   (b >> 32 )   ^ b;

}

于 2013-10-29T17:58:13.190 回答