我想把10个基础10位(0至9,999,999,999)塞入6个十六进制数字(00 00 00到ff ff ff ff)。我知道会发生碰撞,这很好。我也不必担心一个单独的链条来容纳碰撞。此外,我不需要从哈希(Hash)转换回原始碰撞。只需要有一定数量的存储桶(3个字节中的6个十六进制数字),可以表示为00 00 00到ff ff ff ff。因此,是的,在0到9,999,9999999中将有很多数字,它们映射到这些水桶...很好。
有人知道这样做的好算法还是在Java/kotlin中的包裹?
最简单的方法就是简单地在基本10号上使用 mod
base_var_value % 16777215
该16m的数字只是十六进制中的FF FF FF
。