C/C++中使用 按位与运算 优化 求余运算

C/C++中使用 按位与运算 优化 求余运算,仅限除数为 2^n 时。 核心算法:

(dividend % divisor) == (dividend & (divisor - 1));
#include <iostream>
#include <cmath>

int main(void)
{
  int dividend = 100;
  int divisor = 16;
  int result1 = dividend % divisor;
  int result2 = dividend & (divisor - 1);

  printf("result1 = %d\nresult2 = %d", result1, result2);

  return 0;
}

运行结果:

result1 = 4
result2 = 4

编辑本页

顿玄
顿玄
青山掌门

欢迎来到顿玄的博客哦~

下一页
上一页