IEEE754换算,浮点数与16进制的字节转换

1).单精度浮点数转化至标准4字节数
//float转化为IEEE754 4个字节big_endian
//若编译器采用little endian模式,请先逆转bdat数组

void float2byte(float fdat,unsigned char * bdat)
{
unsigned char i;
//获得float数据所在4个字节地址
unsigned char *tmp=(unsigned char*)&fdat;

//间接寻址,获得float所在4字节地址中的数值

for(i=0;i<(sizeof(float));i++)
*(bdat+i)=*(tmp+i);
}

 

2).4字节转化至标准单精度浮点函数
//IEEE754 4字节转化为float big_endian
//若编译器采用little endian模式,请先逆转bdat数组

float byte2float(unsigned char *bdat)
{
return *((float *)bdat);
}

你可能感兴趣的:(c++)