从输入确定性生成唯一整数
在寻求生成避免重复的确定性整数的解决方案时,问题围绕着寻找转换将输入数字映射到给定范围内的不同输出的方法,例如int64.
答案在于应用从仿射密码导出的模算术:
f(P) = (mP + s) mod n
其中:
m = 39293 (any non-even number) s = 75321908 (any random number below 2^64)
func transform(p uint64) uint64 { return p*m + s }
func signedTransform(p int64) int64 { return int64(transform(uint64(p))) }
以上是如何从输入确定性地生成唯一整数?的详细内容。更多信息请关注PHP中文网其他相关文章!