登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:分享:64位浮点数转32位浮点数程序

点击:917 回复:1

分享:64位浮点数转32位浮点数程序
西门子S7-200测试通过,程序网上而来,献给有需要的各位!
一、主程序调用:
64位浮点数保存于VB0开始的存储区中,转换得出的32位浮点数保存于VD100中。
附件 1.jpg
二、子程序符号表:
附件 10.jpg
三、子程序网络1:
1.把双精度浮点数的高16位读取出来
2.左移1位,右移5位之后取到双精度浮点数的指数部分
3.双精度浮点数指数减去1023,再加上127得到单精度浮点数的指数部分
附件 2.jpg
附件 3.jpg
四、子程序网络2:
取出双精度浮点数的高8位
附件 4.jpg
五、子程序网络3:
双精度浮点数指针后移一个字节
附件 5.jpg
六、子程序网络4:
左移4位,右移8位得到单精度浮点数的小数部分
附件 6.jpg
七、子程序网络5:
把单精度浮点数的指数部分加上,右移1位空出符号位
附件 7.jpg
八、子程序网络6:
传送符号位
附件 8.jpg
九、子程序网络7:
最终结果
附件 9.jpg
最后修改:2021/11/3 13:14:33
21-11-03 12:55
这个是高手,佩服!
21-11-03 20:20

工控新闻

更多新闻资讯