相关疑难解决方法(0)

boost :: hash_combine中的幻数

所述boost::hash_combine模板函数采用一个散列(称为参考seed)和对象v.根据文档,它结合seedvby 的哈希

seed ^= hash_value(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2);
Run Code Online (Sandbox Code Playgroud)

我可以看出这是确定性的.我明白为什么要使用XOR.

我敢打赌,这个加法有助于将相似的值广泛分开,因此探测哈希表不会崩溃,但有人可以解释这个神奇常数是什么吗?

c++ algorithm hash boost magic-numbers

86
推荐指数
2
解决办法
2万
查看次数

如何为Int32实现GetHashCode()?

我一直在寻找这个地方,但我找不到任何东西.任何人都可以对此有所了解吗?

.net c# clr

31
推荐指数
1
解决办法
1万
查看次数

int的哈希码

什么是基本类型的哈希码,例如int?

例如,让我们说num是一个整数.

int hasCode = 0;

if (num != 0) {
  hasCode = hasCode + num.hashCode();
}
Run Code Online (Sandbox Code Playgroud)

java int primitive hashcode

23
推荐指数
3
解决办法
5万
查看次数

标签 统计

.net ×1

algorithm ×1

boost ×1

c# ×1

c++ ×1

clr ×1

hash ×1

hashcode ×1

int ×1

java ×1

magic-numbers ×1

primitive ×1