DSP中浮点转定点运算--定点数的加减乘除运算
2019/7/10 22:57:24
本文主要是介绍DSP中浮点转定点运算--定点数的加减乘除运算,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
3.定点数的加减乘除运算
简单的说,各种运算的原则就是先把待运算的数据放大一定的倍数,在运算的过程中使用的放大的数据,在最终需要输出结果的时候再调整回去。
举个例来说,有如下运算:
// coefs1 = 0.023423; coefs2=0.2131
float coefs1,coefs2;
int result;
…
result = 34* coefs1+72* coefs2;
…
代码的意思是,该模块需要输出一个整型的结果,但计算的过程中有浮点的运算。如果在定点的DSP中,这段代码是无法运行的。
为了解决这个问题,我们可以这样处理:首先,把coefs1,coefs2等类似的浮点数据扩大一定的倍数(具体扩大多少倍,依据精度要求不同),我们暂且把小数点向右移动4位,也就是扩大的倍数为:*10000,在最终的输出的时候在缩小相同的倍数。修改后的代码大致如下:
int coefs1,coefs2;
int result;
…
result = 34* coefs1+72* coefs2;
result /= 10000;
…
当然,上面的例子为了大家好理解,写的可能不是太正确,不过基本的精髓应该是这些了。具体的处理过程,大家可以在网上搜索“第3章 DSP芯片的定点运算.doc”这篇文章,写的很具体,这里不再罗嗦了。
以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持找一找教程网。
这篇关于DSP中浮点转定点运算--定点数的加减乘除运算的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15在使用平台私钥进行解密时提示 "私钥解密失败" 错误信息是什么原因?-icode9专业技术文章分享
- 2024-11-15Layui框架有哪些方式引入?-icode9专业技术文章分享
- 2024-11-15Layui框架中有哪些减少对全局环境的污染方法?-icode9专业技术文章分享
- 2024-11-15laydate怎么关闭自动的日期格式校验功能?-icode9专业技术文章分享
- 2024-11-15laydate怎么取消初始日期校验?-icode9专业技术文章分享
- 2024-11-15SendGrid 的邮件发送时,怎么设置回复邮箱?-icode9专业技术文章分享
- 2024-11-15使用 SendGrid API 发送邮件后获取到唯一的请求 ID?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 tags标签最多有多少个?-icode9专业技术文章分享
- 2024-11-15mailgun 发送邮件 怎么批量发送给多个人?-icode9专业技术文章分享
- 2024-11-15如何搭建web开发环境并实现 web项目在浏览器中访问?-icode9专业技术文章分享