位操作求余数

来源:互联网 发布:犀牛软件 手机 编辑:程序博客网 时间:2024/05/16 08:20

在一些位操作里可能需要求余数的操作,而且位操作执行效率更高,但除数为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其实等效。

0 0
原创粉丝点击