问题:如何转换浮点数的二进制格式为十进制?
======================================
模块查询输出的电流、电压浮点数信息以 32-bit 二进制格式(即浮点数的
存储格式)输出,且串行传输时,先传 32-bit 信息的低位字节。
转换过程说明如下:
图1 负载电流查询通信协议(选自MDSPC28M-5 pdf的P8)
如上图,查询输出的负载电流信息为:85 EB 71 40 (32-bit 二进制格式,
且低位字节在前),其对应的浮点数为 3.78。
转化的 C 语言描述如下:
// 利用 C 语言的强制类型转换进行
… ...
unsigned long u32Temp = 0x4071EB85; // 接收的电流二进制信息
float fTemp = *(float*)(&u32Temp);
… ...