分享

如何将串口接收的整型数转换为浮点型 ?顺便请教floatTemp = *(float *)Buffer这句是

 albert_wei 2013-09-25
我们现在在用串口接收GPS的浮点数据,GPS的浮点数据按IEEE标准转化为四字节的十六整型通过串口发送过来。

我们的方法是将接收到的整型数据按四个字节一组保存为unsigned char型数组Buffer[4],然后使用下面这句:

floatTemp = *(float *)Buffer;

将四字节的十六进制整型转化为浮点数floatTemp。



现在有两个疑问,请各位老师麻烦解答一下:



问题一:floatTemp = *(float *)Buffer;这句话是怎么工作的?我看了IEEE的转化原理,还是不太明白为什么使用这句就能转化为浮点数,能帮忙解释下这句是如何进行运算的么?



问题二:在GPS的数据中存在Long float型的数据,也就是说是有八字节一组的整型数据,这样的数据通过floatTemp = *(float *)Buffer;好像是不能转化的。如何能将八字节一组的十六进制整型转化为长浮点数呢?


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多