电子器件

浮点数的表示方法

  有个学员问我,他在用S7-300读取变频器的参数P1082时(1082=16#43A),plc发送的4个字为16#143A000000000000,变频器返回的为16#243A000042480000。变量的浮点数值为16#42480000,对应的浮点数到底是多少?

  在监视用的变量表中,将十六进制双字16#42480000的显示格式改为FLOATING_POINT(浮点数),就可以看到对应的浮点数为50.0。

  浮点数又称为实数(REAL),用32位二进制数表示。浮点数表示为1。m乘以2的E次方。其中尾数1。m和指数E均为二进制数,E可能是正数,也可能是负数。ANSI/IEEE754-1985标准格式的32位实数的格式为1。m乘以2的e次方,式中指数e=E+127为8位正整数。

  尾数的小数部分m为第0~22位,第23~30位为指数e,最高为符号位。

  在西门子的软件中,一般并不使用二进制格式或十六进制格式的浮点数,而是用十进制小数来输入或显示浮点数,例如在STEP7中,50为16位整数,而50.0为浮点数。