导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→编写程序教你一招[侃442]

 *第31733篇: 编写程序教你一招

  
楼 主:侃442 2009年1月10日17:27
 编写程序教你一招
编写程序教你一招 :使用位操作
实现高效的c语言编写,减少除法和取模的运算。
在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效地提高程序运行的效率。举例台如下:
方法g
int i,j;
i=257/8;
j=456%32; 方法h
int i,j;
i=257>  >  3;
j=456-(456>  >  4  <  <4);
在字面上好象h比g麻烦了好多,但是,仔细查看产生的汇编代码就会明白,方法 g调用了基本的取模函数和除法函数,既有函数调用,还有很多汇编代码和寄存器参与运算;而方法h则仅仅是几句相关的汇编,代码更简洁、效率更高。运用这招需要注意的是,因为cpu的不同而产生的问题。在pc上用这招编写的程序,并在pc上调试通过,在移植到一个16位机平台上的时候,可能会产生代码隐患。
[/fly]
  
2楼:nanshe110 2009年1月11日15:57
 请教
乘以3可以用左移一位再加1的方法......
可是除以3怎么办呢?

>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:承接单片机开发业务

[下一篇主题]:[原创]局域网络(互联网)远程控制的继电器控制板