使用位移的中间方形散列

时间:2012-03-24 00:58:24

标签: java data-structures hash bitwise-operators

对于学校我必须实现中方哈希函数。我理解这个理论,但我不知道如何在平方键上使用位移算子。我在互联网上搜索了上面的代码实现,但到目前为止没有找到。问题陈述如下:

  

使用大小为20的数组T并插入以下值:{1,5,21,26,39,14,15,16,17,18,19,20,111,145,146}。

非常感谢您的帮助。我使用具有线性探测的除法散列函数成功地实现了这个问题。现在我必须使用中间方格哈希来做。

感谢。

1 个答案:

答案 0 :(得分:2)

要获取数字的中间位,您可以执行以下操作:

(number >> 6) & 0xf;

>> 6将左边的参数6位向左移位,得到底部4位的中间4位(简称)。 & 0xf;然后屏蔽掉顶部位,只留下底部位。

((10 * 10 % 65536) >> 6) & 0xf == 1