关于累加器得到的real和int类型的值

我输入一条指令 
L 5.0 
T MD10
这时累加器得到的值是40a00000
我再输入一条指令
L 5
T MW20
这时累加器得到的值是5
为何传送是5.0而累加器得到的值是40a00000呢

最佳答案

为何传送是5.0而累加器得到的值是40a00000呢?
5.0送到MD10即为32位浮点数。
转帖:
 浮点数又称为实数(REAL),用32位二进制数表示。浮点数表示为1.m 乘以2的E次方。其中尾数1.m和指数E均为二进制数,E可能是正数,也可能是负数。  ANSI/IEEE 754-1985标准格式的32位实数的格式为1.m乘以2的e次方,式中指数e = E +127为8位正整数。
    尾数的小数部分m为第0~22位,第23~30位为指数e,最高为符号位。
    在西门子的软件中,一般并不使用二进制格式或十六进制格式的浮点数,而是用十进制小数来输入或显示浮点数,例如在STEP 7中,50为16位整数,而50.0为浮点数。

提问者对于答案的评价:
谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc250311.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日 下午5:27
下一篇 2018年12月2日 下午5:28

相关推荐