请问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,不知道是
什么原因,请知道的兄弟帮忙回答下,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
如果程序中出现这样的警告,该怎样处理呢?当然如果将float改为double型可以去掉警告,但是应该怎样合理定义变量的类型呢?求指教
..Devicedevice.c(296): warning: #1035-D: single-precision operand implicitly converted to double-precision
一周热门 更多>