我正在浏览关于hashtables / string散列的PluralSight教程,并且遇到了一个名为" folding"的哈希示例。其中演示者以四个为一组进行转换,将字符串字符转换为32位整数。
在前4个字符中,字母"绝杀"他指出"当你拿走那些字符的字节然后将它们一起塞进一个32位的值时,我们最终得到一个17亿的价值"并且他提出了数字," 1701998444"
他是怎么想出来的" 1701998444"来自字母"绝杀"?
答案 0 :(得分:1)
每个英文字母都分配了一个ASCII编号。 ' A'是65岁。' Z'是65 + 25 = 90。
每个基数10整数对应一个二进制整数,如下所示。
l -> 108 -> 1101100
o -> 111 -> 1101111
r -> 114 -> 1110010
e -> 101 -> 1100101
然后按相反的顺序:
"erol" = 1100101011100100110111101101100 = 1701998444
字符串以相反顺序存储的原因是它被存储为" little endian",与" big endian"相比。
本文很好地解释了它:Little Endian