union myfloat
{
char c[4];
float f;
};
void savefloat(float v,U8 i)
{
union myfloat dd;
dd.f=v;
IAP_ProgramByte(0x0200+i,dd.c[0]);
IAP_ProgramByte(0x0200+i+1,dd.c[1]);
IAP_ProgramByte(0x0200+i+2,dd.c[2]);
IAP_ProgramByte(0x0200+i+3,dd.c[3]);
}
void readflaot(U8 i,float * v)
{
union myfloat dd;
dd.c[0]=IAP_ReadByte(0x0200+i);
dd.c[1]=IAP_ReadByte(0x0200+i+1);
dd.c[2]=IAP_ReadByte(0x0200+i+2);
dd.c[3]=IAP_ReadByte(0x0200+i+3);
*v=dd.f;
}
浮点数存取
本文介绍了一种通过联合体在内存中保存和读取浮点数的方法。利用union定义了一个包含字符数组和浮点数的联合体,实现了将浮点数值转换为字节序列进行存储,并能够从内存中读取这些字节重新构造出原始的浮点数值。
2983

被折叠的 条评论
为什么被折叠?



