TI中文支持网
TI专业的中文技术问题搜集分享网站

关于TMS320F28335单精度浮点运算误差问题

如上图所示,利用TMS320F28335进行浮点运算时,发现不同的初始值与相同的增量相加,得到的远算结果不同。

随着初始值的增大,计算误差也逐渐增大,请问这是为什么呢?

Green Deng:你好,可以参考此博客文章:e2echina.ti.com/…/c2000-cpu-cla

如上图所示,利用TMS320F28335进行浮点运算时,发现不同的初始值与相同的增量相加,得到的远算结果不同。

随着初始值的增大,计算误差也逐渐增大,请问这是为什么呢?

user78960159:

回复 Green Deng:

您好 感谢您的帮助

如您文章中所述,定义为long double类型解决了我的运算精度问题,且long double运算时间在我的系统里是允许的。

对于这个问题,我又做了一些测试

对于您文章的补充:

1. long double 运算时间并不是固定的,随运算数值的不同而不同

2. C28编译器对double与long double的解释不一样,如果一个变量使用C语言传统变量类型名称double进行定义,得到的远算结果依然是float的精度

如上图所示,利用TMS320F28335进行浮点运算时,发现不同的初始值与相同的增量相加,得到的远算结果不同。

随着初始值的增大,计算误差也逐渐增大,请问这是为什么呢?

Green Deng:

回复 user78960159:

非常感谢你的分享!

如上图所示,利用TMS320F28335进行浮点运算时,发现不同的初始值与相同的增量相加,得到的远算结果不同。

随着初始值的增大,计算误差也逐渐增大,请问这是为什么呢?

user78960159:

回复 Green Deng:

昨天看到TI预发布的28388支持FPU64了 应该还没有哪家微控制器有支持双精度浮点的硬核吧
28335生命周期大概有15年左右了 性能现在来看仍然很好 用的人也不少
TI这些年的出新速度也很快 28379 马上也要出28388了

赞(0)
未经允许不得转载:TI中文支持网 » 关于TMS320F28335单精度浮点运算误差问题
分享到: 更多 (0)