所有数字(经过散列处理)仍然仍然是127的k的p个最低位。
那是错误的(或者我误会了..)。k % 127
取决于k的所有位。k % 128
仅取决于最低的7位。
编辑:
如果您的理想分布在1到10,000之间。10,000 % 127
而10,000 % 128
两者都将在一个优秀的小分布开启此。所有存储桶将包含10,000 / 128 = 78(或79)个项目。
如果您的分布在1到10,000之间是有偏差的,因为{x,2x,3x,..}发生的频率更高。然后,如该答案中所述,素数大小将提供更好得多的分布。(除非x恰好是该素数。)
因此, 低位的分布足够好,则切断高位(使用大小为128)就没有问题。但是,使用真实数据和错误设计的真实哈希函数,您将需要这些高位。