我正在寻找一种将一系列“范围”“投影”到一系列值中的方法。应用程序将是具有不均匀 bin 的直方图或创建查找表。
一个例子:
0 到 14 => 0
15 到 234 => 1
235 => 2
236 到 255 => 3
右边的“结果”值(0、1、2、3)的实际顺序并不重要,只要它们在 0 和 3 之间,这样我就可以使用一个小的查找表。如果我可以在浮点值(左侧)上进行这项工作,那就更好了。
我知道我可以在这里使用一个 8 位查找表并重复值,但我想找到一种“完美哈希”的方法:通过一系列系统操作(尽可能小,没有分支)从左边的值,以获得最小的结果空间。
我似乎无法为这种算法找到正确的一系列神奇的 Google 咒语。
如果需要,这个“哈希”或“投影”函数的计算持续时间可以是天。