解析取模运算% 和位与运算& 之间的关系详解

时间:2022-03-27 16:06:23

复制代码 代码如下:


#include <stdio.h>

 

int main (void)
{
    unsigned int MAX = 32;
    unsigned int index = 31;

    index = 31;
    index = (index + 1) % MAX;  // 这个容易理解
    printf ("index = %d\n", index);

    index = 31;
    index = (index + 1) & (MAX - 1);  // 这个运算效率高 
    printf ("index = %d\n", index);

    return;    
}


$ ./a.exe
index = 0
index = 0