回复:怎样优化程序

已锁定

yming

西门子1847工业学习平台

  • 帖子

    23197
  • 精华

    881
  • 被关注

    1254

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2022-07-21 11:30:11

10楼

再举个例子:

遇到需要滑动平均计算。

Pn(x)=(a+b+c+d)/4;通常,新值e到来,做数组元素移动;加入e,循环累加后/4;Pn+1(x)输出。

其实,Pn(x)=(a/4)+(b/4)+(c/4)+(d/4); 

所以,Pn+1(x)=Pn(x)-(a/4)+(e/4);用指针指向元素(a/4);减去它;放入(e/4);加上它;指针+1,就完成了新的滑动平均。没有移动,也用不到循环累加。

数量少,看不出计算工作量,要是几十上百个元素就差异很大了。


再一个,为啥常常看见是2、4、8、16、32等等?

因为,整数的除2、除4、除8,其实只是需要右移,根本不需要调用函数。又快又准。




学而时习之,不亦说乎?温故而知新,不亦乐乎?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15225条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。