发表于:2021/11/3 12:55:07
#0楼
分享:64位浮点数转32位浮点数程序
西门子S7-200测试通过,程序网上而来,献给有需要的各位!
一、主程序调用:
64位浮点数保存于VB0开始的存储区中,转换得出的32位浮点数保存于VD100中。
二、子程序符号表:
三、子程序网络1:
1.把双精度浮点数的高16位读取出来
2.左移1位,右移5位之后取到双精度浮点数的指数部分
3.双精度浮点数指数减去1023,再加上127得到单精度浮点数的指数部分
四、子程序网络2:
取出双精度浮点数的高8位
五、子程序网络3:
双精度浮点数指针后移一个字节
六、子程序网络4:
左移4位,右移8位得到单精度浮点数的小数部分
七、子程序网络5:
把单精度浮点数的指数部分加上,右移1位空出符号位
八、子程序网络6:
传送符号位
九、子程序网络7:
最终结果
西门子S7-200测试通过,程序网上而来,献给有需要的各位!
一、主程序调用:
64位浮点数保存于VB0开始的存储区中,转换得出的32位浮点数保存于VD100中。
二、子程序符号表:
三、子程序网络1:
1.把双精度浮点数的高16位读取出来
2.左移1位,右移5位之后取到双精度浮点数的指数部分
3.双精度浮点数指数减去1023,再加上127得到单精度浮点数的指数部分
四、子程序网络2:
取出双精度浮点数的高8位
五、子程序网络3:
双精度浮点数指针后移一个字节
六、子程序网络4:
左移4位,右移8位得到单精度浮点数的小数部分
七、子程序网络5:
把单精度浮点数的指数部分加上,右移1位空出符号位
八、子程序网络6:
传送符号位
九、子程序网络7:
最终结果
[此贴子已经被作者于2021/11/3 13:14:33编辑过]
基于各种组态软件\触摸屏\PLC\单片机\变频器Modbus TCP\RTU\ASCII通信编程服务,需要请直接
联系!腾讯扣扣149034219
联系!腾讯扣扣149034219