Chinaunix首页 | 论坛 | 博客
  • 博客访问: 318744
  • 博文数量: 71
  • 博客积分: 1450
  • 博客等级: 上尉
  • 技术积分: 762
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-14 13:31
文章分类

全部博文(71)

文章存档

2014年(3)

2013年(8)

2011年(9)

2010年(38)

2009年(13)

我的朋友

分类: LINUX

2010-07-10 21:32:03

4.定点数模拟浮点数运算 及常见的策略

    相信大家到现在已经大致明白了浮点数转换成定点数运算的概貌。其实,原理讲起来很简单,真正应用到实际的项目中,可能会遇到各种各样的问题。具我的经验, 常见的策略有如下几条:

--------------------------------------------------------

声明:
 
此文为原创,欢 迎转载,转载请保留如下信息
 
作者:afreez 北京-中关村
 
联系方式: (欢迎与作者交流)
 
初次发布时间:2007-02-08

初次发布在: http://blog.csdn.net/ganxingming/ 

不经本人同意,不得用语商业或赢利性质目的,否则,作者有权追究 相关责任!
---------------------------------------------------------

 

1)  除法转换为乘法或移位运算

我们知道,不管硬件平台如果变换,除法运算所需要的时钟周期都远远 多于乘法运算和加减移位运算,尤其是在嵌入式应用中,“效率”显得尤为重要。以笔者的经验,其实,项目中的很大一部分除法运算是可以转换成乘法和移位运 算,效率还是有很大提升空间的。

 

2)  查表计算

有些运算表达式可能牵扯到很多头疼的数学公式,尤其是在嵌入式硬件 平台上,出现这种公式很是头疼,因为硬件相关的软件平台提供的功能很有限,有的就没有很多“常见”的开方等数学公式。如果该类运算在项目中很少出现,而且 其取值的个数也不多,那么就可以考虑对各种情况加以分析,把各种可能的结果制作成一个静态的表格(可以理解成数组),再加以简单的条件判断语句就可以解决 该类问题。

 

3)  级数展开

该问题的背景同上面的问题。对于一些数学公式,如果取值范围不好处 理,就可以采用级数展开的方式。

 

4)  分子分母同时变化

对于一些除法运算,为了保证精度,如果分子的扩 大范围不够大的话,可以考虑缩小分母,也可以达到预期效果。具体的例子可以参考我的另一篇文章“解决了个困扰了2天 的问题,定点运算问题”。 
阅读(1612) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~