使用自增自减运算提高效率
在使用到加一和减一操作时尽量使用增量和减量操作符,因为增量符语句比赋值语句更快,原因在于对大多数CPU来说,对内存字的增、减量操作不必明显地使用取内存和写内存的指令,比如下面这条语句:
x=x+1;
在大多数微机汇编语言为例,产生的代码类似于:
move A,x ;把x从内存取出存入累加器A
add A,1 ;累加器A加1
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文章
7604浏览量
136683 -
代码
+关注
关注
30文章
4779浏览量
68521 -
编译器
+关注
关注
1文章
1623浏览量
49108
发布评论请先 登录
相关推荐
明德扬视频分享点拨FPGA课程--第二十章 提高效率技巧
第二十章提高效率技巧1. 利用GVIM制作模板http://yunpan.cn/cjZTiDA9pY56x访问密码 c359
发表于 11-07 09:22
Python常用自增运算写法
在学习任何一种编程语言,运算方法的学习是不可避免的,其中自增运算符++的使用也是其中的重点,很多人容易弄不明白其用法,尤其是在Python中,其用法更加的不同!我们可以写个实例来说明一
发表于 04-09 17:45
如何使用UCC28056优化过渡模式PFC设计来提高效率和待机功耗?
本应用指南介绍了使用 UCC28056 优化过渡模式 PFC 设计以提高效率和待机功耗的设计决策。
发表于 06-17 06:52
keil5提高效率的技巧
keil5提高效率的技巧:1.编写程序时右键点击即可快速添加头文件。2.固定模板可以在“Templates”中写入,使用时可直接引用。3.模块化编程,即编写头文件,之前的博客有提到,这里不再赘述。...
发表于 01-12 07:53
卡套管的使用有助于提高效率并达到更合格的标准
卡套管的使用有助于提高效率并达到更合格的标准
Enhancing Efficient and Reaching Higher Standard by using Clip Tubes
发表于 03-14 17:26
•11次下载
LFPAK88是提高效率的捷径
Nexperia的LFPAK88不使用内部焊线,减小了源极引脚长度,从而最大程度地减少在开关过程中产生的寄生源极电感,以此提高效率。 无引脚(QFN)封装或开尔文源极连接等备选方案也具有类似的优点,但它们也存在很大的缺陷,这就使得“提高效率的捷径”LFPAK88成为我们的
发表于 02-10 09:38
•774次阅读
NIKKEI逻辑整合Brocade SAN以提高效率和安全性
电子发烧友网站提供《NIKKEI逻辑整合Brocade SAN以提高效率和安全性.pdf》资料免费下载
发表于 08-30 10:36
•0次下载
提高效率的DC电源模块设计技巧
BOSHIDA 提高效率的DC电源模块设计技巧 设计高效率的BOSHIDA DC电源模块可以帮助减少能源浪费和提高系统功耗,以下是一些设计技巧: 1. 选择高效率的功率转换器:选择
评论