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

2022-11-01 · 1 分钟阅读时长

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
顿玄
Authors
青山掌门
欢迎来到顿玄的博客哦ヾ(≧▽≦*)o