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);
}