[基本使用] 西门子S7-200 Smart PLC双精度转单精度程序

[复制链接]
查看129 | 回复0 | 2021-10-24 00:02:56 | 显示全部楼层 |阅读模式
厂商
厂商: 西门子
双精度浮点转单精度.zip (23.65 KB, 售价: 2 工控币)
双精度:S1+E11+M52
单精度:S1+E8+M23
算法思路:将11位指示缩减成8位(去掉高3位);将52位尾数缩减成23位(放弃后29位);符号位值不变
指数E处理
通过先减1023再加127,将指数的前3位变成0(bit7,bit8,bit9;bit10为符号位),实现的功能是将11位指数缩减为8位;
先减1023是为了判断指数是否过大超过单精度范围(即转成0的3位是否大于0)!
1023=H1111111111;127=H1111111;
1023-127=896=H1110000000;
尾数M处理
先去掉前4位指数位,再通过右移去掉多余的9位尾数,保留23位尾数;
32-9=23
通过OR指令将指数与尾数连接;
64位浮点数格式
1位                                        11位                               52位
S(符号位),编号63        E(阶码位),编号62 ~52        M(小数位),编号51 ~ 0
0表示正,1表示负        1-2046                                          任意

1.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则