jplzl10000 发表于 2017-3-21 20:16:25

STM32F302R8 浮点计算出错


如图所示,这条除法会计算很多次,但会在第几千次的某一次中计算错误,结果如图中寄存器所示的。
有时候,也能计算正常。但错的时候多。
这会是什么原因造成的呢?

发表于 2017-3-22 09:38:27

是数据溢出了,楼主你换成double型的吧。我用C#测试的。

jplzl10000 发表于 2017-3-22 10:21:47

安 发表于 2017-3-22 09:38
是数据溢出了,楼主你换成double型的吧。我用C#测试的。

但是我有试过,把那个plus_off乘以1000,再来计算的话,ti还是会有错哦

发表于 2017-3-22 10:23:24

本帖最后由 安 于 2017-3-22 10:38 编辑

VI也溢出了。直接定义看看会不会提示错误。

jplzl10000 发表于 2017-3-25 23:02:22

安 发表于 2017-3-22 10:23
VI也溢出了。直接定义看看会不会提示错误。

我是宏定义的0.0065f
然后,后面那一串,是c99编译器整出来的吧
溢出的话,不会只是某一次吧,况且,vi还有上到1000多的时候,也不会出错
我想,有可能是用了一些不太确定的操作吧,
比如两个浮点比较时用了>=/<=这样的比较
或是用了>=0.0f这样的操作
页: [1]
查看完整版本: STM32F302R8 浮点计算出错