求助,f4计算float和double型数据精度问题。

2019-07-20 08:46发布

请问stm32在计算float型和double型数据时精度是怎样的?请帮忙分析下下面的程序。
if(Step_Length_Record < 1.0)
  {
   Step_Length_Record += Step_Length;
  }
  else
  {               
   MOVE1_flag = 1;
  } 
if( MOVE1_flag == 1)
{
   printf("步长记录%f ", Step_Length_Record);
}   
当把Step_Length_Record定义为float型时输出为1.020000,但是定义成double型输出为1.000000,不知道是
什么原因,请知道的兄弟帮忙回答下,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
exv
1楼-- · 2019-07-20 12:20
 精彩回答 2  元偷偷看……
ofourme
2楼-- · 2019-07-20 16:29
强制类型转换。
正点原子
3楼-- · 2019-07-20 21:35
 精彩回答 2  元偷偷看……
满满VS犬夜叉
4楼-- · 2019-07-21 00:18
回复【2楼】正点原子:
---------------------------------
谢原子哥帮顶...
TinyBoy
5楼-- · 2019-07-21 00:59
回复【3楼】满满VS犬夜叉:
---------------------------------
类型当然是double类型精度高,这是不用怀疑的,结果不对是你输出的形式的问题。
满满VS犬夜叉
6楼-- · 2019-07-21 03:00
 精彩回答 2  元偷偷看……

一周热门 更多>