由于Float类型的数据在计算中保存方法不一样,所以对Float类型的数据做大小端转换的情况不能简单的通过宏移位来完成,需要使用函数来完成操作,一下是将小端存储的Float数据转换为大端的转换函数:
- typedef union{
-
float f;
-
char c[4];
-
}FLOAT_CONV;
-
-
-
/************************************************************
-
Conversion little endian float data to big endian
-
*************************************************************/
-
static float __ltobf(float data)
-
{
-
FLOAT_CONV d1, d2;
-
-
d1.f = data;
-
-
d2.c[0] = d1.c[3];
-
d2.c[1] = d1.c[2];
-
d2.c[2] = d1.c[1];
-
d2.c[3] = d1.c[0];
-
-
return d2.f;
-
}
阅读(10371) | 评论(0) | 转发(0) |