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

DSP28377D float型数据赋值精度问题

在DSP28377D中对两个float型变量进行赋值,连上仿真器后运行查看变量的值和赋的初值有差异,如下图上面为赋值,下面为CCS中查看的变量值,一个是小数点第11位有差异,一个是第8位有差异,这个是啥原因?另外float型的精度是到小数点后几位?

Susan Yang:

我会在测试和确认后给您回复

Susan Yang:

建议您将其定义为long double类型

float f_var_test3 = 0.00156833408328098454;

float f_var_test4 = -0.9968633318334378934;

long double f_var_test5 = 0.00156833408328098454L;

long double f_var_test6 = -0.9968633318334378934L;

测试结果如下

更多信息请参考

http://mcu.eetrend.com/content/2017/100007381.html

之前这个文档是在E2EChina上的,后面链接失效了

user4842559:

回复 Susan Yang:

是不是可以简单理解为float是单精度浮点型,其表示的有效数据位超过7位就会取舍,改为long double 后就是双精度浮点型了,其表示有效数字为超过16位就会取舍。

user4842559:

回复 Susan Yang:

好的,谢谢

Susan Yang:

回复 user4842559:

很高兴能帮到您

赞(0)
未经允许不得转载:TI中文支持网 » DSP28377D float型数据赋值精度问题
分享到: 更多 (0)