想通过串口传送浮点数,所以想把浮点数转成四个字节依次发送,但不知道浮点数如何转成四字节十六进制数呢
我定义了一个联合体
union
{
float f;
uchar d[4];
}fd;
fd.f=54.7;
然后依次发送d[0],d[1],d[2],d[3]
用转换器软件查得54.7的十六进制是42 5A CC CD
但用仿真软件得到的是 CD 5A 42 00
如果按d[2],d[1],d[0],d[3]来传送,得到42 5A CD 00,为什么最后一字节是00呢
用转换软件查看42 5A CD 00的浮点数是54.700195
问题出在什么地方呢
|