//-----公用体变量定义------------------
union union_fot //定义公用体,保存浮点数
{
unsigned char result_uchr[4];
float result_fot;
};
union union_fot g_fot_da;
g_fot_da.result_fot = 0.123456;
如果要存储到EEPROM中,EEPROM地址1中 = g_fot_da.result_uchr[0];
EEPROM地址2中 = g_fot_da.result_uchr[1];
EEPROM地址3中 = g_fot_da.result_uchr[2];
EEPROM地址4中 = g_fot_da.result_uchr[3];
注意大小端,上面只是表示了下处理的方式,但一定是正确的,有个项目我是利用此种方式进行的浮点数存储,并发送到PC上,通过PC再还原为浮点数。也许对于PIC用3个字节表示浮点数理解不是很正确,但按照上面描述的方法你可以验证下PIC对于浮点数的存储到底是啥样的。
|