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

* 56744: 编写程序教你一招

   侃442 
侃442发表的帖子 

 编写程序教你一招
编写程序教你一招 :使用位操作
实现高效的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]

发表时间:2009年1月10日17:27:15

  
回复该帖

本主题共有 2 帖,分页:>>>>>该主题的所有内容[2]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  56801.[详细]请教
摘要:乘以3可以用左移一位再加1的方法...... 可是除以3怎么办呢?......(57字)
- [nanshe110][396次] 2009年1月11日

[上一篇帖子]:请教乘以3可以用左移一位再加1的方法...... 可是除以3怎么办呢?
[下一篇帖子]:[原创]局域网络(互联网)远程控制的继电器控制板该局域网络控制继电器控制板采用TCP/IP协议与控制