我想把10位基数(0到9,999,999,999,999,999,999)塞进6个十六进制数字(00,000 00到FF)。我知道会有碰撞,这很好。我也不需要担心一个单独的链来容纳碰撞。而且,我不需要从散列转换回原始的散列。只需要有一组存储桶(3个字节中的6个十六进制数字),可以表示为00 00 00到FF。所以,是的,将会有许多从0到9,999,999,999的数字映射到这些存储桶中……这很好。
有没有人知道做这件事的好算法或者Java/Kotlin包?
发布于 2019-02-28 04:28:38
最简单的方法是简单地对基数10使用mod
base_var_value % 16777215
这个16M数字简单地说就是十六进制的FF FF FF
。
https://stackoverflow.com/questions/54913892
复制相似问题