C语言编程IEEE 745单精度浮点数
最近用C写简单的串口通讯,实现上位机获取仪表的数据。
用unsigned char 数组存放数据,收到的数据是4字节十六进制数。
如unsigned char read_char[4] = {0x42, 0xD3, 0x99, 0x9A};
数据是754单精度浮点数,在内存中单精度浮点数就是这样存储的。这时候要把数组倒序一下,成为{0x9A, 0x99, 0xD3, 0x42}
, 然后*((float *)read_char)
就可以得到浮点数了。例子中数值大概是105.90000多吧。