gpt4 book ai didi

algorithm - 指针值的散列

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:15:49 25 4
gpt4 key购买 nike

有时候需要对指针取一个哈希函数;不是指针指向的对象,而是指针本身。很多时候,人们只是下注并将指针值用作整数,砍掉一些高位以使其适合,可能会移出底部的已知零位。问题是,指针值不一定在代码空间中均匀分布;事实上,如果您的分配器正在执行其工作,那么它们很可能全部聚集在一起。

所以,我的问题是,有没有人开发出对此有用的哈希函数?取一个可能有 12 位熵的 32 位或 64 位值某处,并将其均匀分布在 32 位数字空间中。

最佳答案

This page列出了几种可能有用的方法。其中之一,由于 Knuth,是一个简单的乘以 2654435761(32 位),但是“如果 key 的高位不同,则会产生错误的散列结果。”对于指针,这种情况很少见。

Here还有一些算法,包括性能测试。

看起来神奇的词是“整数哈希”。

关于algorithm - 指针值的散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3442639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com