查看: 814|回复: 0
打印 上一主题 下一主题

发一个float和char型数据的相互转换

[复制链接]
跳转到指定楼层
沙发
发表于 2016-6-20 19:38:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//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的四个字节。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表