在 CLRS 的第 264 页底部,作者说获得后r0 = 17612864
,14 个最高有效位r0
产生哈希值h(k) = 67
。我不明白为什么它给出 67,因为二进制的 671000011
是 7 位。
编辑
在教科书中:例如,假设我们有k = 123456, p = 14, m = 2^14 = 16384, and w = 32
. 采用 Knuth 的建议,我们选择 A 作为s/2^32
最接近的形式的分数(\sqrt(5) - 1) / 2
,因此A = 2654435769/2^32
。然后k*s = 327706022297664 = (76300 * 2^32) + 17612864
,等等r1 = 76300 and r0 = 17612864
。14 个最高有效位r0
产生该值h(k)=67
。