标签:
先抛出一个等式,
X & (2n?1) == X % 2n
右边式子,也就是模运算,最后的结果为[0, 2n?1],而左边的式子,也就是与运算,可以将X的高位清掉,最后剩下的是X的[0, n)位上面的数值,这个值当然也是∈[0, 2n?1],所以左右两边是相等的。
模运算经常用来做哈希,利用上面的等式,我们完全可以使用与运算来代替模运算,
小手记之与运算代替模运算
原文地址:http://blog.csdn.net/kisimple/article/details/43737031