首页 > 其他 > 详细

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

时间:2019-12-28 14:56:08      阅读:259      评论:0      收藏:0      [点我收藏+]

 

 

 

 

前言

  现在很多通信都需要传输各种数据,所有的仪器仪表都是把数据转化为16进制以后传输

  为了使转换通用,所以才有了 IEEE754规约

 

直接上菜

  

typedef union Resolve
{
  float float_data;
  long long_data;
  char char_table[4];
}Resolve_Typedef;

 

技术分享图片

 

 

 

 

技术分享图片

 

 

 

 

 

254 转为16进制

  技术分享图片

 

 

  技术分享图片

 

  注意:我使用的是STM32,它储存数据的时候低位在前高位在后

  咱比较喜欢这样看数据 00 00 00 FE  这就是254

 

65536 转为16进制

  技术分享图片

 

 

  技术分享图片

 

 

  00 01 00 00  这就是65536的16进制表示

 

 

说明

  大家有没有疑问为什么写的是转化为4字节

  技术分享图片

 

 

  IEEE754规约就是规定的一个数据转换为4字节作为传输

 

  大家如果做仪器仪表通信做久了就会发现几乎都是转换为4字节

 

  只不过在传输的时候有的仪器仪表是先传输高位

 

  就像咱上面的 65536  16进制是   00 01 00 00

 

  有极少数的仪器仪表先传输低位  00 00 01 00

 

 

 

 

220.5 转为16进制

  技术分享图片

 

 

  技术分享图片

 

  

 

 

 

 

 

 

 

 

 

 

有16进制浮点数数据了,转为浮点数

  假设数据是 00 80 5C 43 

  技术分享图片

 

 

  技术分享图片

 

 

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

原文:https://www.cnblogs.com/yangfengwu/p/12111552.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!