最近在看哈希表,把相应的哈希值散列分组到相应的slot(槽)中,中间用到了大量的移位运算和取模。
今天测试取模运算的时候,发现了一个取模运算的知识点。
例如 4取模2 = 0 ,4取模4=0 用二进制表示就是:
4 % 2
0100 (红 {MOD}部分得出的结果是0)
*************************
4 % 4
0100 (红 {MOD}部分得出的结果还是0)
如果一直往下推断的话:
6模2或4或8 8模2或4或8
6 % 2 8 % 2
0110 1000
*************************************************
6 % 4 8 % 4
0110 1000
(结果是10,转换为二进制是2)
上面是举例偶数对2的幂的取模,我想奇数对2的幂取模也是相同的道理。
根据这个规律我们很快能够计算出一个二进制数取模运算一个2的n次方数的结果
例如:
1011 0001 1101 1010 取模运算2^6——2的6次方
结果必然是 0000 0000 0001 1010
取模运算还有很多我不了解的作用,信息爆炸的时代,IT道路前方充满了曙光。