大于 64 位的索引的哈希函数
Hash function for indices greater than 64-bits?
从C++标准来看,哈希函数std::tr1::hash计算范围为64位的哈希值(如果我错了,请纠正我)。但出于好奇,是否有任何机制可以生成范围大于 64 位的哈希值。我的问题可能看起来很奇怪,因为我们使用的整个内存都在 64 位范围内,但我想知道我们如何计算(比方说)大小为 80 位的哈希值?
编辑:我的错,我假设64位实现。
C++11 中的各种哈希函数(我想对应于到 TR1) 将哈希值计算成一个size_t
,其大小取决于实现(但 32 位为 32 位构建,64 位构建为 64 位)。 如果您需要哈希更大的尺寸,然后你必须自己计算;你甚至可能必须定义一个更大的积分类型来支持计算它。 (不能在 中返回 80 位哈希代码如果size_t
仅为 64 位,则size_t
。
相关文章:
- 如何为位集找到/实现一个好的哈希函数
- 对于短字符串来说,这是一个很好的哈希函数吗?
- 我在C++中使用提升哈希函数将 3 个双精度组合成一个面临冲突的哈希
- 无冲突的哈希函数
- Qt5 哈希函数在 Windows 7 和 Windows10 上不会返回相同的哈希
- 解决由于在哈希函数中使用了不完整的类型而导致的编译失败
- 使用 Murmur2 64 位哈希函数生成会导致冲突的输入
- 错误:哈希函数必须可使用键类型的参数进行调用
- unordered_set是否适合存储矢量<int>元素的数据结构?如果是这样,我将如何实现哈希函数?
- 为什么C++哈希函数的返回类型是 std::size_t,而不是独立于平台的类型?
- 哈希函数计算
- 哈希函数中同一键的不同值和良好的哈希值排序
- 将 C# 哈希函数转换为C++
- 如何创建用于生成噪声的哈希函数
- 插入不从哈希函数中检索键
- 简单的 C++11 哈希函数无法编译
- 对于这个英语单词列表来说,什么是好的哈希函数?
- std::bitset 哈希函数算法
- 如何生成伪随机 32 字节字符串以用作加密哈希函数中的盐?
- C unordered_map自定义的哈希函数碰撞