float怎样转化成unsigned char

2019-08-17 02:43发布

原子哥float 转化成unsigned char不是简单的强制转换就可以的吧,请问怎么转换
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
aleda303
1楼-- · 2019-08-18 00:10
float val ;                (u8*)&val 就是指向对应内存的指针

i=0->3
*((u8*)&val + i) 就是取出对应的内容
yuzeyuan1
2楼-- · 2019-08-18 01:09
尽量避免这种情况出现吧。我感觉这么玩会死的很惨,出了问题原因都找不到。楼上那些写法没有试过,不过除了一楼外,得到的数据好像不是楼主想要的吧。
TinyBoy
3楼-- · 2019-08-18 06:45
float x;
unsigned char y;
y=x;
ddfha1
4楼-- · 2019-08-18 10:54
 精彩回答 2  元偷偷看……
jermy_z
5楼-- · 2019-08-18 16:00
ddfha1 发表于 2017-7-6 15:08
就是完整的保存浮点数,比如我要串口发送浮点数数据,必须转化成unsigned char类型才行吧

看你是printf类型的还是数据帧类型的

数据帧类型的,可以按照上面某位说的,用联合体最适合
haysen
6楼-- · 2019-08-18 18:39
ddfha1 发表于 2017-7-6 15:08
就是完整的保存浮点数,比如我要串口发送浮点数数据,必须转化成unsigned char类型才行吧

我用过两种办法,第一种就是把浮点数直接转化成字符串然后发送,下位机再字符串变浮点数。第二种,就是约定精度,比如保留小数点后一位,那么就把浮点数X10,做完整数,然后按字节发送

一周热门 更多>