位操作求余数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/moses1213/article/details/52190614

在一些位操作里可能需要求余数的操作,而且位操作执行效率更高,但除数为2的N次方时,位操作也是一种实现方式。

总结了两种方法如下:

假设M = 2^n,

1:MOD(X, M) = X - (X >> n) << n 
2:MOD(X, M) = X&(M-1)  //M必须是2的N次方

3:MOD(X, M) = X & ((1 << n+1) - 1)。

2和3其实等效。

猜你喜欢

转载自blog.csdn.net/moses1213/article/details/52190614