C编程:哈希键(uint32)生成(输入:一个uint32和一个uint64生成唯一键)

时间:2013-10-29 17:39:31

标签: c

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

输出:一个uint32唯一值。

输入:一个uint32和一个uint64

你能帮我解决逻辑

1 个答案:

答案 0 :(得分:1)

我知道您正在为哈希表实现哈希函数。 基本上你可以使用xor折叠uint64_t,使用uint32_t折叠结果。

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

}