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

 更新时间:2013年05月14日 17:11:11   作者:  
本篇文章是对取模运算%和位与运算&之间的关系进行了详细的分析介绍,需要的朋友参考下

复制代码 代码如下:

#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

相关文章

  • C语言如何在指针中隐藏数据详解

    C语言如何在指针中隐藏数据详解

    这篇文章主要给大家介绍了关于C语言如何在指针中隐藏数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-12-12
  • 深入分析C++派生类中的保护成员继承

    深入分析C++派生类中的保护成员继承

    这篇文章主要介绍了C++派生类中的保护成员继承,深入对C++面向对象编程的继承机制进行了解析,需要的朋友可以参考下
    2015-09-09
  • C++精要分析decltype的作用及用法

    C++精要分析decltype的作用及用法

    decltype是C++11新增的一个关键字,和auto的功能一样,用来在编译时期进行自动类型推导。引入decltype是因为auto并不适用于所有的自动类型推导场景,在某些特殊情况下auto用起来很不方便,甚至压根无法使用
    2022-05-05
  • C语言基于EasyX库实现有图形界面钟表

    C语言基于EasyX库实现有图形界面钟表

    这篇文章主要介绍了C语言基于EasyX库实现有图形界面钟表,直线转动端点计算,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C++未定义行为(undefined behavior)

    C++未定义行为(undefined behavior)

    对于未定义行为,C++标准没有明确规定编译器们应该怎么做,那么执行的结果就是不可预料的。下面我们来详细探讨下
    2017-02-02
  • VC++中内存对齐实例教程

    VC++中内存对齐实例教程

    这篇文章主要介绍了VC++中内存对齐的实现方法,具有很高的实用价值,需要的朋友可以参考下
    2014-08-08
  • 基于C语言实现简单的扫雷小游戏

    基于C语言实现简单的扫雷小游戏

    这篇文章主要为大家详细介绍了基于C语言实现简单的扫雷小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 给喜欢的人用C语言写烟花

    给喜欢的人用C语言写烟花

    你向窗外看烟火,我在窗边看你,这时,你比烟花好看的多,你的眼眸倒映满天的烟火,我的瞳孔倒影你闪光的眼色,这时,我比烟花寂寞
    2021-11-11
  • C语言实现数组的循环移位的方法示例

    C语言实现数组的循环移位的方法示例

    这篇文章主要介绍了C语言实现数组的循环移位的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • 解析结构体的定义及使用详解

    解析结构体的定义及使用详解

    本篇文章是对结构体的定义以及使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论