技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 西门子PLC > 浮点数的存储格式和浮点数转换

浮点数的存储格式和浮点数转换

发布于2022-12-21 14:48 16 2 标签:浮点数

  ①浮点数的存储格式

  浮点数(实数)在S7-200中的存储为双字长数据,数据由1位符号位S(bit31)、8位指数位E(bit30~bit23)、23位尾数位F(bit22~bit0)组成。

  数据以二进制的格式保存,并通过一定的规定进行折算,具体情况如图3-23所示。

浮点数

  符号位S:符号位为1位,可以是0或1,0为正数,1为负数。

  指数位E:使用8位二进制表示,可以表示的十进制数据范围为0~255。其中当0

  尾数位F:使用23位二进制表示,可以表示的十进制数据范围为0~7FFFF。当F=0 且E=0时作为0处理;当F=0且E=255时作为无穷大处理。

  数据折算按照如下公式进行:Z=(-1)S2E-127(1 0.F)。式中,S为符号位s值;E为指数值;F为小数位值。

  在非标准数据中,几种常用的情况可以表示特殊的数据,如:E=0,F=0,则作为“0”处理;

  E=255,F=0,则根据符号位的情况,分别作"-co"或" co"处理;但当E=0或E=255时,若F≠0,则视为非浮点数。

  ②浮点数转换实例

  【例3-18】确定十进制数 10在S7-200中的存储格式。确定步骤如下。

  a.数据转换。从计算式中可以看出,为了确定存储格式,必须首先将数据转化为以2 的n次方表示的浮点形式,而且小数点前只能1位,其值必须为1。

  即:10=1.25×23。b.符号位。S=0(正数)。

  c.指数。根据计算公式,可以确定指数位E-127=3,所以E=130,对应的二进制值为10000010。

  d.尾数。尾数为转化后数据的小数点后面的部分,本例中为0.25,尾数折算为2的n 次方后得0.25=2-2,对应的二进制值为010 000000 0000 000000。

  将以上结果按照规定的位置组成32位二进制数后,最终得到十进制数 10的浮点保存格式为0100 00010010 0000 0000 0000 0000 0000(即十六进制值41 20 0000)。

  【例3-19】 确定十进制数 3.141493在S7-200中的存储格式。根据上例同样步骤,得:

  a.数据转换。3.141493=1.5707965×21。b.符号位。S=0(正数)。

  c.指数。确定指数位E-127=1,所以E=128,对应的二进制值为1000 0000。d.尾数。0.5707965=2-1 2-4 2-7 2-12 2-1 2-1 2-15 2-16 2-17 2-1° 2-2° 2-21,对应的二进制值为10010010000000111101100。

  将以上结果按照规定的位置组成32位二进制数后,最终得到十进制数3.141493的浮点保存格式为0100 000001001001 0000 1111101 1100(即十六进制值40 49 0F DC)。

  【例3-20】已知某浮点数在S7-200中的存储格式为:3FB504F7,试确定其实际值。根据十六进制格式,可以得到该数的二进制格式为001111101101010100000100100111 0111,从而可得到:

  a.符号位。S=0。

  b.指数。E=(0111111)2=127。

  c.尾数。(01101010000010011111011)2=2-2 2-2 2-3 2-2-2 2-16 2-17 2-18 2-19 2-2 2-2 2-23=0.414214015。

  得:Z=(一1)52E-127(1 0.F)=(一1)°×2127-127(1 0.414214015)=1.414214015

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

浮点数

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签