3
我想寫可擴展哈希。在wiki我已經在python中找到了很好的實現。但是,這種代碼使用最低有效位,所以當我有散列1101
爲d = 1
值是1
和d = 2
值是01
。我想用最重要的位。例如:散列1101
,d = 1
值爲1
,d = 2
值爲11
。有沒有簡單的方法來做到這一點?我嘗試過,但我不能。可擴展哈希 - 最高有效位
你知道爲什麼它使用最不重要的位?
或多或少。當我們使用數組時,它非常高效。好吧,對於散列函數,我想使用4個字節的整數中的4個最小位,但是從左到右。
h = hash(k)
h = h & 0xf #use mask to get four least bits
p = self.pp[ h >> (4 - GD)]
它不起作用,我不知道爲什麼。
你說你已經嘗試 - 發佈代碼,以便我們可以看到你出錯的地方。 –
你知道嗎?爲什麼它使用最不重要的位? –
當你說你想要的最重要的位,你想限制到一個特定的整數大小,或頂部的非零位?例如,8位數字15(又名'00001111')'0000'或'1111'的最重要的四位?前者很容易計算,後者更少(可能需要「日誌」)。 – Blckknght