北京网站建设之C程序建设相关知识【再续】

  • 网站建设 2018-08-10
<返回列表

  关于北京网站建设之C程序建设的相关知识分形科技已为在家介绍了很多了,不过相信那些想要深入学习的程序员们还是觉得不够,依然迫切的需求用户专业的知识来丰富自己的工作技能。为了帮助大家可以更加深入的了解C程序建设,分形科技继续为大家介绍一些关于这方面的知识。

  当程序员在为英文网站建设、众筹网站平台建设、企业营销型网站建设等不同类型的网站建设和开发程序时,如果遇到了关于C程序建设方面的问题可以随时咨询分形科技的在线客服,我们将随时为您提供服务。下面分形科技要为在家介绍的是使用自加、自减指令和减少运算的强度两方面的内容。


 北京网站建设之C程序建设相关知识【再续】



  7、使用自加、自减指令的问题

  在C程序建设中一般情况下使用自加、自减指令和复合赋值表达式(如a-=1及a+=1等)都能够生成高质量的程序代码,在编译器中也能够生成inc和dec之类的指令。但是如果使用a=a+1或a=a-1之类的指令,很多C编译器就会生成二到三个字节的指令,所以程序员工选择编辑器时一定要注意适用性。例,ICCAVR、GCCAVR、IAR等C编译器生成的代码是一样的,也能够生成高质量的inc和dec之类的的代码。

  8、减少运算的强度的问题

  在C程序建设中分形科技建议程序员尽量减少运算的强度,可以使用运算量小但功能相同的表达式替换原来复杂的的表达式,这样做对加快速度有帮助。

  下面介绍几个减少运算的强度的实例。

  (1)、求余运算

  方式a=a%8可以改为a=a&7

  说明:位操作只需一个指令周期即可完成,而大部分的C编译器的“%”运算均是调用子程序来完成,代码长、执行速度慢。所以我们只要求是求2n方的余数,均可使用位操作的方法来代替。

  (2)平方运算

  方式a=pow(a,2.0)可以改为a=a*a,a=pow(a,3.0);更改为a=a*a*a。

  说明:在有内置硬件乘法器的单片机中(如51系列),乘法运算比求平方运算快得多,因为浮点数的求平方是通过调用子程序来实现的,在自带硬件乘法器的AVR单片机中,如ATMega163中,乘法运算只需2个时钟周期就可以完成。既使是在没有内置硬件乘法器的AVR单片机中,乘法运算的子程序比平方运算的子程序代码短,执行速度快。

  (3)用移位实现乘除法运算

  方式a=a*4、b=b/4可以改为a=a<<2; [Page]、b=b>>2,a=a*9可以改为a=(a<<3)+a。

  说明:通常如果需要乘以或除以2n,都可以用移位的方法代替。在ICCAVR中,如果乘以2n,都可以生成左移的代码,而乘以其它的整数或除以任何数,均调用乘除法子程序。用移位的方法得到代码比调用乘除法子程序生成的代码效率高。实际上,只要是乘以或除以一个整数,均可以用移位的方法得到结果。

更多阅读

SEO解决方案主要是根据哪些内

诊断教程 2020-06-11
SEO解决方案主要是根据哪些内容来改善?现在有很多企业都会非常重视网站这一......查看全文

百度关键词优化一般都要做什

诊断教程 2020-06-11
百度关键词优化一般都要做什么事情?现在有非常多人都很关心互联网上的信息......查看全文

关键词优化SEO有什么样的考核

诊断教程 2020-06-11
关键词优化SEO有什么样的考核指标?关键词优化SEO在进行实际考核的过程当中将......查看全文
返回全部新闻
扫描二维码分享到微信
确 认
友情链接: SEO 米菲纸尿裤 百度刷排名