gpt4 book ai didi

algorithm - 为什么17612864的高14位是67?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:04:39 24 4
gpt4 key购买 nike

在 CLRS 的第 264 页底部,作者说在获得 r0 = 17612864 后,r0 的 14 个最高有效位产生哈希值 h (k) = 67。我不明白为什么它给出 67,因为 67 在二进制中是 1000011,即 7 位。

编辑在课本中: 例如,假设我们有 k = 123456、p = 14、m = 2^14 = 16384 和 w = 32。采纳 Knuth 的建议,我们选择 A 为 s/2^32 形式中最接近 (\sqrt(5) - 1)/2 的分数,因此A = 2654435769/2^32。然后 k*s = 327706022297664 = (76300 * 2^32) + 17612864,所以 r1 = 76300 和 r0 = 17612864r0 的 14 个最高有效位产生值 h(k)=67

最佳答案

17612864 = 0x010CC040 =

0000 0001 0000 1100 1100 0000 0100 0000

其中的最高 14 位是

0000 0001 0000 11

也就是0x43,也就是67

还有:

int32 input = 17612864;
int32 output = input >> (32-14); //67

关于algorithm - 为什么17612864的高14位是67?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13188468/

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