前言:转换的原理此处就不展开了,我可能讲不清楚,只说结论,只说代码怎么写

先放一张截图,是读取的一款流量记的数据,读取工具是modbus poll,需要注意的一点是我圈起来四个16进制数,每家的顺序不一定都是一样的,有的是高低位调换了的,我们在转换时需要调整至c#能认识的方式,在下发时又要转换为下位机能认识的方式。

在这里插入图片描述

核心代码

//16进制字符串转float
string value = "425F999A";   
UInt32 x = Convert.ToUInt32(value, 16);
float fy = BitConverter.ToSingle(BitConverter.GetBytes(x), 0) ;
Console.WriteLine(fy);
//float转16进制
byte[] bytes = BitConverter.GetBytes(fy);
Console.WriteLine(BitConverter.ToString(bytes)); 
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐