本文主要是介绍c/c++中位与运算代替取模运算%,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
c/c++中位与运算&代替取模运算%
取模运算所需的时间大约是位与运算的十倍。
当模的大小是2的N次方时,可用位与运算代替取模运算:
unsigned int modNum = 1024; // 2的N次方
unsigned int x = 4321;
unsigned int a = x % modNum;
unsigned int b = x & (modNum - 1);
以上,a、b相等。
当取模运算频次很高时,这个优化就会非常显著。
这篇关于c/c++中位与运算代替取模运算%的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!