如何提高程序的执行效率

一.尽量使用整数,少用浮点数
整数运算比浮点数快得多。

二.避免乘法与除法
乘法与除法都是相当浪费CPU运算时间的一种运算,在无法避免时,如果乘除的数目为2次方, 例如2、4、8、16等,则可改用左移或右移来取代:

a*2^n-->a<<n 例:a*16-->a<<4
a/2^n-->a>>n 例:a/32-->a>>5

上式中2^n表示2的n次方。

三.少用求模运算
求模的运算(%)通常也是用乘除来完成的,所以速度很慢,我们也要尽量避免,当然如果除数为2的次方,那么可以改 用&来替代:

a%2^n --> a&(2^n-1)

例:a%8 --> a&0x07


注意,如果除数不是2的次方,绝不能用&来替代。

四.使用寄存器变量
寄存器的存取速度要比内存快,一般c/c++编译器都至少提供1~2个寄存器变量给程序使用,我们应该将使用最频繁的变量 定义成寄存器变量,这样可以加快执行效率,例如:

register int i;
for( i=0; i<3000; i++ )
*(p+i) = 0x0f;

五. s=0; 
  for(i=1;i<=5;++i) 
    for(j=1;j<=100;++j) 
          ++s; 
++i和i++的区别是前者直接将变量加1返回,而后者先保存变量值,再加1,之后返回,差两个指令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值