STM32F302R8 浮点计算出错
如图所示,这条除法会计算很多次,但会在第几千次的某一次中计算错误,结果如图中寄存器所示的。
有时候,也能计算正常。但错的时候多。
这会是什么原因造成的呢?
是数据溢出了,楼主你换成double型的吧。我用C#测试的。 安 发表于 2017-3-22 09:38
是数据溢出了,楼主你换成double型的吧。我用C#测试的。
但是我有试过,把那个plus_off乘以1000,再来计算的话,ti还是会有错哦 本帖最后由 安 于 2017-3-22 10:38 编辑
VI也溢出了。直接定义看看会不会提示错误。
安 发表于 2017-3-22 10:23
VI也溢出了。直接定义看看会不会提示错误。
我是宏定义的0.0065f
然后,后面那一串,是c99编译器整出来的吧
溢出的话,不会只是某一次吧,况且,vi还有上到1000多的时候,也不会出错
我想,有可能是用了一些不太确定的操作吧,
比如两个浮点比较时用了>=/<=这样的比较
或是用了>=0.0f这样的操作
页:
[1]