16位字节和float类型互转
16位字节和float类型互转
include "stdio.h"
float ByteToFloat(unsigned short* b)//使用取地址的方法进行处理 数组变量的第一个字的地址
{
unsigned short byteArry[2] = {0};
byteArry[0]=b;
byteArry[1]=(b+1);
return ((float)byteArry);
}
void FloatToByte(float fa,unsigned short *a1)//使用取地址的方法进行处理 数组变量的第一个字的地址
{
unsigned short farray[2] = {0};
(float)farray = fa;
*a1= farray[0];
*(a1+1)= farray[1];
}
unsigned short Reg[25]={0};
int main(void)
{
FloatToByte(0.24,&Reg[20]);
printf("%x\n%x\n",Reg[20],Reg[21]);
//printf("%f",ByteToFloat(&farray));
//ByteToFloat(&Reg[20]);
printf("%f\n",ByteToFloat(&Reg[20]));
return (0);
}

浙公网安备 33010602011771号