float怎样转化成unsigned char

2019-08-17 02:43发布

原子哥float 转化成unsigned char不是简单的强制转换就可以的吧,请问怎么转换
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
augustedward
1楼-- · 2019-08-17 07:54
uint8_t buf[60];     uint8_t *p,*p1;     p = buf;      p1=(uint8_t*)(&adj_param.factor1);                 *p++=*p1++;                 *p++=*p1++;                 *p++=*p1++;                 *p++=*p1;  其中adj_param.factor1就是浮点数
Watmin
2楼-- · 2019-08-17 08:15
有个比较简单的方法是 把float放大n 倍,然后转成整形,要用时再除以n被变换成浮点数。注意数据类型的范围
chb0613
3楼-- · 2019-08-17 11:54
读内存
未知1908
4楼-- · 2019-08-17 12:41
float转换成unsigned char是会舍掉小数位的,比如0.2,转换后就是0。如果要用那就只能乘以10变成2。用的时候在相应做变换,就是第一个回复的做法。
JY1314
5楼-- · 2019-08-17 18:02
 精彩回答 2  元偷偷看……
l6931639
6楼-- · 2019-08-17 22:46
看你想要什么数据,有时候强制转换未尝不可

一周热门 更多>