我目前正在用C++实现一个哈希表,我正在尝试为浮点数创建一个哈希函数...
我打算通过填充十进制数来将浮点数视为整数,但后来我意识到我可能会用大数字来达到溢出...
哈希浮点数是否有好方法?
你不必直接给我这个功能,但我想看/理解不同的概念......
笔记:
我不需要它真的很快,如果可能的话,只是均匀分布.
我已经读过浮点数不应该因为计算的速度而被散列,有人可以确认/解释这个并给我其他原因,为什么浮点数不应该被散列?我真的不明白为什么(除了速度)
c++ floating-point hash-function hashtable
对于几乎相等的问题std::hash,浮点专业化(例如,对于doubles或floats)是否可靠?也就是说,如果两个值(例如和)应该比较相等但不会与运算符进行比较,那么将如何表现?(1./std::sqrt(5.)/std::sqrt(5.)).2==std::hash
std::hash
double
float
(1./std::sqrt(5.)/std::sqrt(5.))
.2
==
那么,我可以依靠double一个std::unordered_map关键来按预期工作吗?
std::unordered_map
我已经看到了" 哈希值浮动值 ",但是询问了提升; 我问的是C++ 11的保证.
c++ hash floating-accuracy c++11 stdhash
c++ ×2
c++11 ×1
floating-accuracy ×1
floating-point ×1
hash ×1
hash-function ×1
hashtable ×1
stdhash ×1