手机
当前位置:查字典教程网 >编程开发 >C语言 >DSP中浮点转定点运算--定点数模拟浮点数运算及常见的策略
DSP中浮点转定点运算--定点数模拟浮点数运算及常见的策略
摘要:4.定点数模拟浮点数运算及常见的策略相信大家到现在已经大致明白了浮点数转换成定点数运算的概貌。其实,原理讲起来很简单,真正应用到实际的项目中...

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

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

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

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

2)查表计算

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

3)级数展开

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

4)分子分母同时变化

对于一些除法运算,为了保证精度,如果分子的扩大范围不够大的话,可以考虑缩小分母,也可以达到预期效果。具体的例子可以参考我的另一篇文章“解决了个困扰了2天的问题,定点运算问题”。

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持查字典教程网。

【DSP中浮点转定点运算--定点数模拟浮点数运算及常见的策略】相关文章:

GetChar缓存机制深入剖析

基于C++全局变量的声明与定义的详解

c语言中malloc、realloc与calloc 的区别以及联系

c/c++输出重定向的方法

atoi和itoa函数的实现方法

C中实现矩阵乘法的一种高效的方法

使用C# 判断给定大数是否为质数的详解

C++生成dll和调用dll的方法实例

奇怪的C语言特性

深入探讨C语言中局部变量与全局变量在内存中的存放位置

精品推荐
分类导航