//float 转化成uchar
//data:是需要转换的float
//cnt:是转化后的数组
void ftoc(float data,uchar *cnt)
{
cnt[0] = *((uchar *)(&data));
cnt[1] = *((uchar *)(&data)+1);
cnt[2] = *((uchar *)(&data)+2);
cnt[3] = *((uchar *)(&data)+3);
}
//char合并成float
float ctof(uchar *cnt)
{
float data;
data = *((float *)cnt);
return data;
}
楼下的高手也有用联合体实现的,也复制过来方便大家浏览吧。
float data;
unsigned char cnt[4];
定义一个联合
union
{
unsigned char ch[4];
float f;
}f2c;
f2c.f=data;
f2c.ch[0]~f2c.ch[3],即为data的四个字节。
|