拡張可能なハッシュを書きたい。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)]
そして、それは機能しません。理由はわかりません。