十六进制和浮点数之间的运算

2019-07-18 14:56发布

小弟最近在写MODBUS协议程序,遇到十六进制和浮点数之间的运算问题
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
sdCAD
1楼-- · 2019-07-20 02:42
看看sprintf试试。
lwsn
2楼-- · 2019-07-20 08:33
设置一个32位的长整型变量的,将这些十六进制数通过算法规整到一块的,再将其强制到float型的数据
chuntian2016
3楼-- · 2019-07-20 14:18
这个是专门有相关的算法可以采用的
ayrz2010
4楼-- · 2019-07-20 18:58
 精彩回答 2  元偷偷看……
ayrz2010
5楼-- · 2019-07-20 22:08
不用转换啊,你应该问的是高低位字节序的问题。
本来浮点数是4个字节,这4个字节存放到Modbus中,需要2个Modbus地址的寄存器。
这样就存在高低位、字节序的问题。
假设浮点数4个字节分别是A B C D,  如果存放到Modbus寄存器的时候,以BA DC方式的话,
读取的时候,需要交换字节序,否则就乱套了。

当然,具体存放方法编程者可以自己定义,但是Master和Slave端必须统一了。
minzisc
6楼-- · 2019-07-21 00:56
遇到换算问题么?

一周热门 更多>