• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

请教4个10进制怎么转成浮点数?

前功尽弃 2021-03-26 浏览量:725
我的板子和一个TTL电压表模块通信,返回的10进制数据是:4  3  4  ,65  196  9  72 , 252  9,其中逗号之间的4个10进制数(65 196 9 72)是电压值,转换成电压值是24.50v,现在请教如何把找个4组数据,转换成我要的电压值,最好能附上代码,谢谢了。
求代码  10进制转换成浮点数。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案

  • typedef union
    {
        float fdata;
        uint16_t ldata[2];
    } FloatType;
    void Float_to_Word(float fuint16_t  *temp)
    {
        FloatType fl;
        fl.fdata=f;
        *temp=fl.ldata[0];
        *(temp+1)=fl.ldata[1];
    }
    void Word_to_Float(float *fuint16_t  *temp)
    {
        FloatType fl;

        fl.ldata[0] = *temp;
        fl.ldata[1] = *(temp+1);

        *f = fl.fdata;
    }
    • 发布于 2021-03-27
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:3
  • 同意楼上的做法,最好的办法就是直接共享内存,然后直接读出的数据就是浮点类型的。
    • 发布于2021-03-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 一楼的共同体的方式是可以的

    还有一种是用指针进行转换的

    • 发布于2021-04-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 把这四个组成一个int型的数据,再用float指针强制转换吧
    • 发布于2021-04-12
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

请教4个10进制怎么转成浮点数?