[demo程序] 单片机模块化程序--IEEE754规约,浮点数和16进制之间的转换

[复制链接]
 楼主| jerow 发表于 2019-12-30 10:33 | 显示全部楼层 |阅读模式
前言
  现在很多通信都需要传输各种数据,所有的仪器仪表都是把数据转化为16进制以后传输
  为了使转换通用,所以才有了 IEEE754规约

 楼主| jerow 发表于 2019-12-30 10:34 | 显示全部楼层
  1. typedef union Resolve
  2. {
  3.   float float_data;
  4.   long long_data;
  5.   char char_table[4];
  6. }Resolve_Typedef;



633685e096217e524c.png
676485e096228f0f5f.png
 楼主| jerow 发表于 2019-12-30 10:35 | 显示全部楼层
254 转为16进制
948785e09623ccab7d.png
511455e0962473fe75.png
  注意:我使用的是STM32,它储存数据的时候低位在前高位在后
  咱比较喜欢这样看数据 00 00 00 FE  这就是254
 楼主| jerow 发表于 2019-12-30 10:36 | 显示全部楼层
65536 转为16进制
883615e096289c932d.png
885915e0962969cf26.png
00 01 00 00  这就是65536的16进制表示
 楼主| jerow 发表于 2019-12-30 10:37 | 显示全部楼层
说明
  大家有没有疑问为什么写的是转化为4字节
127425e0962c356136.png
  大家如果做仪器仪表通信做久了就会发现几乎都是转换为4字节
  只不过在传输的时候有的仪器仪表是先传输高位
  就像咱上面的 65536  16进制是   00 01 00 00
  有极少数的仪器仪表先传输低位  00 00 01 00
 楼主| jerow 发表于 2019-12-30 10:38 | 显示全部楼层
220.5 转为16进制
677985e0962f8909b7.png
889555e0963065b39e.png
 楼主| jerow 发表于 2019-12-30 10:38 | 显示全部楼层
有16进制浮点数数据了,转为浮点数
  假设数据是 00 80 5C 43
481115e09632a0c77c.png
722035e0963334ef58.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

520

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部

72

主题

520

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部