在项目 voldemort 设计页面上:
http://project-voldemort.com/design.php
据说哈希环覆盖区间[0, 2^31-1]。
现在,区间 [0, 2^31-1] 代表 2^31 个总数,而最大的数 2^31-1 只是 31 位全部设置为 1。(为了说服自己,请考虑 2^3- 1. 2^3=8 是 0x1000。2^3-1=7 是 0x111)。
因此,如果使用普通的 32 位地址字来存储该值,则您有 1 位空闲。
因此,为什么 2^31-1 是上限?额外的位是否用于某种系统簿记?
(例如,1 个额外的位将为安全地添加两个有效的散列地址提供空间而不会溢出)。
最后,这个选择是voldemort特有的,还是在其他一致的哈希方案中看到的?