欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

DSP中浮点转定点运算--定点数的加减乘除运算

时间:2020-10-09 13:09:39|栏目:C代码|点击:

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= 2131

int coefs1,coefs2;

int result;

result = 34* coefs1+72* coefs2;

result /= 10000;

当然,上面的例子为了大家好理解,写的可能不是太正确,不过基本的精髓应该是这些了。具体的处理过程,大家可以在网上搜索“第3章  DSP芯片的定点运算.doc”这篇文章,写的很具体,这里不再罗嗦了。

上一篇:C语言二维数组中的查找的实例

栏    目:C代码

下一篇:深入解析最长公共子串

本文标题:DSP中浮点转定点运算--定点数的加减乘除运算

本文地址:http://www.codeinn.net/misctech/8807.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有