当前位置:   article > 正文

C语言中IEEE754格式的转换_iee754转换函数 c

iee754转换函数 c

我们经常遇到一个数据转换问题,我们使用电量表采集数据,电量表的电流电压等数据并不是两个字节,而是4个字节的表达,也就是下位系统直接传输的是单精度浮点数,存储格式是IEEE754格式,大家都比较陌生。实际上我们的计算机系统的浮点数也就是IEEE754格式,所以转换的时候非常简单,不需要进行各种复杂的算法,只需要进行必要的设置就可以转换成功,那就是使用C语言的union定义。(希望你能理解)。

  1. //********************************************************
  2. // IEEE574格式转换
  3. //********************************************************
  4. typedef union
  5. {
  6. float fdata;
  7. u32 idata;
  8. }Convert754;
  9. //********************************************************

delphi转换如下:

  1. //**********************************
  2. // IEE -754 转浮点数
  3. //**********************************
  4. function ByteToFloat(b1,b2,b3,b4:byte):Single;
  5. var tdb : Single;
  6. bits : Integer;
  7. s,e,m :Integer;
  8. begin
  9. bits := (b1 shl 24) + (b2 shl 16) + (b3 shl 8) + b4;
  10. //处理符号
  11. if (bits shr 31
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
  

闽ICP备14008679号