0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用自增自减运算提高效率

麦辣鸡腿堡 来源:轩哥谈芯 作者:Debug 2023-11-21 11:29 次阅读

使用自增自减运算提高效率

在使用到加一和减一操作时尽量使用增量和减量操作符,因为增量符语句比赋值语句更快,原因在于对大多数CPU来说,对内存字的增、减量操作不必明显地使用取内存和写内存的指令,比如下面这条语句:

x=x+1;

在大多数微机汇编语言为例,产生的代码类似于:

move Ax      ;把x从内存取出存入累加器A
add A1       ;累加器A1
store x        ;把新值存回x

而如果使用增量操作符,则会有相对应的指令支持,生成的代码如下:

incr x           ;x加1

显然,不用取指令和存指令,增、减量操作执行的速度加快,同时长度也缩短了。

同样的,复合赋值表达式 ( 如 a -= 1 及 a += 1 等 ) 都能够生成高质量的程序代码

提取公共表达式

在某些情况下,C编译器不能从浮点表达式中提出公共的子表达式,因为这意味着相当于对表达式重新排序。

然而编译器在提取公共子表达式前不能按照代数的等价关系重新安排表达式。这时,程序员需要手动地提出公共的子表达式。

不好的代码:

float a, b, c, d, e, f;
...
e = b * c / d;
f = b / d * a;

推荐的代码:

float a, b, c, d, e, f;
...
const float t = (b / d);
e = c * t;
f = a * t;

另一个例子,不好的代码:

float a, b, c, e, f;
...
e = a / c;
f = b / c

推荐的代码:

float a, b, c, e, f;
。。。
const float t = (1.0f / c);
e = a * t;
f = b * t;
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7530

    浏览量

    128748
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66772
  • 编译器
    +关注

    关注

    1

    文章

    1577

    浏览量

    48617
收藏 人收藏

    评论

    相关推荐

    无线充电怎么提高效率呢,急需

    无线充电怎么提高效率呢,急需
    发表于 10-19 10:43

    明德扬视频分享点拨FPGA课程--第二十章  提高效率技巧

    第二十章提高效率技巧1. 利用GVIM制作模板http://yunpan.cn/cjZTiDA9pY56x访问密码 c359
    发表于 11-07 09:22

    通过禁用文件缓冲提高效率

    通过禁用文件缓冲提高效率在每次文件I/O操作中,LabVIEW调用操作系统(OS)并请求在文件和磁盘之间传输数据,调默认状态下LabVIEW启用缓冲。缓冲减少了操作系统访问磁盘的次数并减少了处理时间
    发表于 03-16 09:17

    Python常用运算写法

    在学习任何一种编程语言,运算方法的学习是不可避免的,其中运算符++的使用也是其中的重点,很多人容易弄不明白其用法,尤其是在Python中,其用法更加的不同!我们可以写个实例来说明一
    发表于 04-09 17:45

    LTC7803如何提高效率和EMI标准合规性?

    降压型转换器的电气原理图LTC7803如何提高效率和EMI标准合规性
    发表于 03-11 06:25

    如何使用UCC28056优化过渡模式PFC设计来提高效率和待机功耗?

    本应用指南介绍了使用 UCC28056 优化过渡模式 PFC 设计以提高效率和待机功耗的设计决策。
    发表于 06-17 06:52

    keil5提高效率的技巧

    keil5提高效率的技巧:1.编写程序时右键点击即可快速添加头文件。2.固定模板可以在“Templates”中写入,使用时可直接引用。3.模块化编程,即编写头文件,之前的博客有提到,这里不再赘述。...
    发表于 01-12 07:53

    单片机驱动LCD如果提高效率

    单片机驱动LCD如果提高效率
    发表于 10-23 07:44

    AN144-通过静默交换机设计降低EMI并提高效率

    AN144-通过静默交换机设计降低EMI并提高效率
    发表于 05-07 15:27 6次下载
    AN144-通过静默交换机设计降低EMI并<b class='flag-5'>提高效率</b>

    圆柱电池分选机怎么提高效率

    深成科技:深圳圆柱电池分选机怎么提高效率
    发表于 12-28 17:54 430次阅读

    提高效率——如何将双向功率流集成到UPS设计中(第一部分)

    提高效率——如何将双向功率流集成到UPS设计中(第一部分)
    发表于 11-01 08:27 0次下载
    为<b class='flag-5'>提高效率</b>——如何将双向功率流集成到UPS设计中(第一部分)

    使用 DSN2 肖特基二极管提高效率

    使用 DSN2 肖特基二极管提高效率
    发表于 11-15 20:25 0次下载
    使用 DSN2 肖特基二极管<b class='flag-5'>提高效率</b>

    LFPAK88是提高效率的捷径

    Nexperia的LFPAK88不使用内部焊线,减小了源极引脚长度,从而最大程度地减少在开关过程中产生的寄生源极电感,以此提高效率。 无引脚(QFN)封装或开尔文源极连接等备选方案也具有类似的优点,但它们也存在很大的缺陷,这就使得“提高效率的捷径”LFPAK88成为我们的
    发表于 02-10 09:38 478次阅读
    LFPAK88是<b class='flag-5'>提高效率</b>的捷径

    带有快速体二极管的MOSFET器件通过LLC拓扑和FREDFET来提高效率

    带有快速体二极管的MOSFET器件通过LLC拓扑和FREDFET来提高效率
    的头像 发表于 12-08 17:35 403次阅读
    带有快速体二极管的MOSFET器件通过LLC拓扑和FREDFET来<b class='flag-5'>提高效率</b>

    提高效率的DC电源模块设计技巧

    BOSHIDA  提高效率的DC电源模块设计技巧 设计高效率的BOSHIDA  DC电源模块可以帮助减少能源浪费和提高系统功耗,以下是一些设计技巧: 1. 选择高效率的功率转换器:选择
    的头像 发表于 02-26 14:27 168次阅读
    <b class='flag-5'>提高效率</b>的DC电源模块设计技巧