十六进制数转化成浮点数的程序问题

[复制链接]
查看11 | 回复6 | 2021-1-27 05:47:20 | 显示全部楼层 |阅读模式
我在写一段modbus通讯程序(汇编),想要把寄存器R6、R7中的十六进制数据处理成四字节浮点数发送给上位机,可以通过什么办法来做?需要得到大家的帮助。还有就是R6、R7里面的数据是十六进制数,如果没有发给上位机的时候,我在程序中通过另外的处理可以使他在显示的时候能对应1个小数点,2个小数点,3个小数点,但在modbus通讯时,不知道怎么把R6、R7里面的十六进制转化为带有小数点的数,,请大家一起探讨一下。
分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:47:20 | 显示全部楼层
什么系统?其架构中是否支持浮点运算?

回复

使用道具 举报

千问 | 2021-1-27 05:47:20 | 显示全部楼层
51单片机,现在看了些资料介绍,比如102.5十进制数转化为单精度浮点数,是先要将102.5转化为二进制数,在进行规格化,但这个102.5在单片机中是怎样存储的不怎么理解,
回复

使用道具 举报

千问 | 2021-1-27 05:47:20 | 显示全部楼层
用C语言的软件仿真的时候看一下内存的数据就知道了。
我这边看到的是
102.5的对应0x42CD0000
回复

使用道具 举报

千问 | 2021-1-27 05:47:20 | 显示全部楼层
低字节到高字节的排序就是0x42CD0000。
回复

使用道具 举报

千问 | 2021-1-27 05:47:20 | 显示全部楼层
见:http://www.mytutorialcafe.com/Microcontroller%20Math%20Floating%20Point.htm

回复

使用道具 举报

千问 | 2021-1-27 05:47:20 | 显示全部楼层
谢谢各位的热心解答,困惑已解决,在此表示感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行