如何用c语言从串口读取的16进制数中提取4个字节变为浮点数?急!!!

如题。我现在从串口读取了5个字节,存在了字符数组temp中,temp[5]={0x0c,0xb1,0x8d,0x40,0x40}。其中后四个字节是我需要的数据,我怎么才能... 如题。我现在从串口读取了5个字节,存在了字符数组temp中,temp[5]={0x0c,0xb1,0x8d,0x40,0x40}。其中后四个字节是我需要的数据,我怎么才能把这4个字节提取出来转化为浮点数,并输出呢?? 展开
 我来答
漠影歌
推荐于2018-04-13 · TA获得超过807个赞
知道小有建树答主
回答量:483
采纳率:50%
帮助的人:446万
展开全部
给你个思路,直接给你编的话可能对不上你的代码。
自己再定义一个数组temp1,给一个for循环,类似于
for(i = 1; i < 5; i ++){
temp1[i - 1] = temp[i];

}
这样temp1[]中就存储了你的后四个字节,之后再将这个temp1的元素一个一个转换为十六进制输出就好,比如说
for(pos = 0;pos < 4; pos ++)
printf("%f ",(float)temp1[pos]);
printf("\n");
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式