C++ 4个字符的 16进制 转成 Float 类型 的数据

比如 a4 5a 42 f6 表示的是 123.321这个数 我怎么编写一个函数 来转换数据啊!!!
我已经没有分了 谢谢大家了~~~

第1个回答  推荐于2016-10-27
#include <stdio.h>

int main(void)
{
float a=0.0f; unsigned char * b = (unsigned char*)&a; int c[4]; int i = 0;
scanf("%x %x %x %x", c+1, c, c+3, c+2);
for(i = 0; i<4; i++) b[i] = (unsigned char)c[i];
printf("%f", a);
return 0;
}

输入a4 5a 42 f6 的结果是:
123.320999本回答被提问者采纳
第2个回答  2010-07-20
float Convert(char a[4])
{
float f = *((float*)a);
return f;
}

void main()
{
char a[4];
a[0] = 0x5a;
a[1] = 0xa4;
a[2] = 0xf6;
a[3] = 0x42;

float f = Convert(a);
}