IEEE754协议:数据转换

一 需求描述   

    这两天,协议中有使用IEEE754协议的,浮点数的表示方法,为了从协议中解析出数据,还原到十进制,并设计出解析程序。

二 设计过程

  协议中的温度数据为十六进制:41C7C474

1.转换成二进制格式
按协议规定分类如下三部分
0 10000011 10001111100010001110100
2.各部分计算如下:
2.1符号位S

s=0
2.2指数位e:131

计算方法:

10000011转换成10进制得到:

e=131

2.3尾数位m:0.56

计算方法:

10001111100010001110100 转换成10进制:4703348

得到如下:

m=4703348* 2^(-23)=0.56

3..计算:
V=(-1)^s*2^(e(值)-127)*(1+m)
  =(-1)^0 * 2^(131-127)* (1+m)

  =24.96

这样就能得到正确的结果,这样说大家都会了,呵呵.

网络上的文章,讲解一通之后,还是不能让读者了解过程,本文直接上解决方法。

三 结果展示

使用Qt 5.5设计出程序(附件中下载)

wKiom1YmaSrANWHoAACzJTbhDSI780.jpg


你可能感兴趣的:(IEEE754的协议转换方法)