单精度转双精度的警告

2019-07-20 06:26发布

STM32F407,使用了DSP库,有一个公式在编译时有警告:protocol.c(793): warning:  #1035-D: single-precision operand implicitly converted to double-precision,查阅了资料知道需要在数字后面加个f才能解决这个警告,但我这个公式,怎么能加f了。能帮我看下这个该怎么改下了?


float depth0 = 0x0;
u8 vertical_height = 0x0;
u8 pull_down_len = 0x0;
float y_angle1 = 0;
depth0 = (float)(vertical_height+pull_down_len*arm_sin_f32(y_angle1*pi/180));
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
edmund1234
1楼-- · 2019-07-20 08:36
我猜是这函数arm_sin_f32返回是个DOUBLE类型的

试试这个
depth0 = (float)(vertical_height+pull_down_len*(float)arm_sin_f32(y_angle1*pi/180));

lqab1983
2楼-- · 2019-07-20 14:22
 精彩回答 2  元偷偷看……
edmund1234
3楼-- · 2019-07-20 17:32
lqab1983 发表于 2018-8-30 18:16
您说的有道理,但是还是不行?

那就是它的参数也是double类型的, 再试试这样改

depth0 = (float)(vertical_height+pull_down_len*(float)arm_sin_f32((double)(y_angle1*pi/180)));
lqab1983
4楼-- · 2019-07-20 18:06
还是不行

一周热门 更多>