如何用c语言从串口读取的16进制数中提取4个字节变为浮点数?急!!!
如题。我现在从串口读取了5个字节,存在了字符数组temp中,temp[5]={0x0c,0xb1,0x8d,0x40,0x40}。其中后四个字节是我需要的数据,我怎么才能...
如题。我现在从串口读取了5个字节,存在了字符数组temp中,temp[5]={0x0c,0xb1,0x8d,0x40,0x40}。其中后四个字节是我需要的数据,我怎么才能把这4个字节提取出来转化为浮点数,并输出呢??
展开
1个回答
展开全部
给你个思路,直接给你编的话可能对不上你的代码。
自己再定义一个数组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");
自己再定义一个数组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");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询