我试图在项目中设置一个简单的部门,在STM32F10x上我已经完成了:
说我有一个浮点变量:
float f =0.0;
.............
当我以这种方式使用f
时:
f = 20/5 ;
程序无法使用f
的值,这是除法的结果,我在本程序的其他多个函数中使用此值,但它们都不起作用意味着我没有收到错误,但该程序无法正常工作。
但是当设置值:
f = 4 ;
一切正常! 任何想法为什么? 我使用过: f =(浮动)20/5;
答案 0 :(得分:4)
编译器将没有后缀的所有浮点数视为double
。
这将在STM32 / ARM上爆炸。
使用后缀,20.0f
。
你的演员工作的原因是因为结果可以在编译时确定。如果没有,它会再次爆炸。