在CLRS的第264頁的底部,作者說在獲得r0 = 17612864之後,r0的14個最高有效位產生散列值h(k)= 67。我不明白爲什麼它給出了67,因爲67以二進制是1000011這是7位。爲什麼17612864的14個最重要的位是67?
EDIT 在教科書: 作爲一個例子,假設我們有K = 123456,P = 14,M = 2^14 = 16384,以及w = 32適應Knuth的建議,我們選擇A是(\ sqrt(5) - 1)/ 2最接近的形式s/2^32的分數,因此A = 2654435769/2^32。那麼k * s = 327706022297664 =(76300 * 2^32)+ 17612864,因此r1 = 76300且r0 = 17612864.r0的14個最高有效位產生值h(k)= 67。
我不知道怎麼會可能是,但包括這裏更多的上下文而不是書上的頁碼可能有助於找到能夠回答你問題的人。 –
查看圖11.4(在頁面頂部的264),'w'是32,你從32位數字的左邊(最高位)提取'p'(14)位。 – Esailija
謝謝!現在我可以理解這個數字。 – zxia31