STM32F4浮点运算出错

2019-07-20 05:12发布

单片机型号:STM32F415VGT6
我在程序中定义了一个u32类型的变量 a,然后通过串口给 a 一个值,然后在单片机中计算a/225000.0得到一个浮点数,但是这个浮点数比实际值大了1.8,也就是当 a 的值为12640500时,计算器算出来应该是56.18,但是单片机算出来是57.97..... 。这是为什么?我用 a 除以200000.0,218180.0,220000.0都没出现这样的情况,值都是比较准确的;只要除以225000.0就会出错。于是我打算在相除后直接减去多余的1.8,像这样(a/225000.0) - 1.8;但是结果还是57.97..... ,也就是减去1.8没起作用,根本就没做这个运算。实在是搞不懂了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
sppz
1楼-- · 2019-07-20 05:24
看汇编
午夜狼嚎
2楼-- · 2019-07-20 06:38
 精彩回答 2  元偷偷看……
sppz
3楼-- · 2019-07-20 09:19
 精彩回答 2  元偷偷看……
sppz
4楼-- · 2019-07-20 14:54
还有你确定一下a的值...说实话不应该这么大误差...
sppz
5楼-- · 2019-07-20 16:57
顺便可能的话把这段c贴出来看看...
午夜狼嚎
6楼-- · 2019-07-20 20:30
 精彩回答 2  元偷偷看……

一周热门 更多>