DSP中浮点转定点运算--定点数的加减乘除运算
2016-06-17 10:00
585 查看
3.定点数的加减乘除运算
简单的说,各种运算的原则就是先把待运算的数据放大一定的倍数,在运算的过程中使用的放大的数据,在最终需要输出结果的时候再调整回去。
举个例来说,有如下运算:
复制代码 代码如下: …// coefs1 = 0.023423; coefs2=0.2131
float coefs1,coefs2;
int result;
…
result = 34* coefs1+72* coefs2;
…
代码的意思是,该模块需要输出一个整型的结果,但计算的过程中有浮点的运算。如果在定点的DSP中,这段代码是无法运行的。
为了解决这个问题,我们可以这样处理:首先,把coefs1,coefs2等类似的浮点数据扩大一定的倍数(具体扩大多少倍,依据精度要求不同),我们暂且把小数点向右移动4位,也就是扩大的倍数为:*10000,在最终的输出的时候在缩小相同的倍数。修改后的代码大致如下:
复制代码 代码如下: // coefs1 = 234; coefs2= 2131int coefs1,coefs2;
int result;
…
result = 34* coefs1+72* coefs2;
result /= 10000;
…
当然,上面的例子为了大家好理解,写的可能不是太正确,不过基本的精髓应该是这些了。具体的处理过程,大家可以在网上搜索“第3章 DSP芯片的定点运算.doc”这篇文章,写的很具体,这里不再罗嗦了。
以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- DSP中浮点转定点运算--浮点与定点概述
- DSP中浮点转定点运算--浮点数的存储格式
- DSP、ARM和单片机的区别
- DSP学习笔记之GPIO
- 多网口开发板
- OMPL138多网口开发板
- 浮点运算误差
- DSP例程源码
- DSP+FPGAF核心板
- DSP+ARM+FPGA核心板
- 定点机、浮点机与定点数、浮点数的关系
- 创建IPC示例工程编译DSP程序
- C6000嵌入汇编C与汇编对照及功能说明
- TMS320F28335学习SPI模块总结笔记
- DS 4000 P二进制文件在ARM处理器中的加载运行
- 基于DSP的启动加载原理
- SylixOS DSP的BSP调试过程
- RTB 竞价介绍
- PHP float金额在强制转换为整型时,发现数值不对。
- bash脚本编程之算术运算之加减乘除取于(+,-,*,/,**,%)