中科因仑“3+1”工程特种兵精英论坛

标题: 发一个float和char型数据的相互转换 [打印本页]

作者: 痛苦的滋味    时间: 2016-6-20 19:38
标题: 发一个float和char型数据的相互转换
//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的四个字节。





欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/) Powered by Discuz! X3.4