【发布时间】:2018-01-08 04:43:24
【问题描述】:
我正在阅读有关哈希表/字符串哈希的 PluralSight 教程,并遇到了一个称为“折叠”的哈希示例,其中演示者以四人一组的方式将字符串字符转换为 32 位整数。
在前 4 个字符中,字母“lore”他说“当你获取这些字符的字节,然后将它们拼凑成一个 32 位值时,我们最终会得到 17 亿个值”,并且他出示了号码“1701998444”。
他是如何从字母“lore”中得出“1701998444”的?
【问题讨论】:
-
x[0] << 24 + x[1] << 16 + x[2] << 8 + x[4]。也就是说,4 字节组中的每个字节(8 位,表示 ASCII 中的一个字符)被“移位”到一个 32 位整数(由.. 4 个字节组成)中的位置。 -
非常酷...非常感谢!
-
也就是说,我算了一下,得到 1819240549 :} -
(108<<24)+(111<<16)+(114<<4)+101。所以它被编码为 reversed 为 e-r-o-l (e