分享:64位浮点数转32位浮点数程序 点击:1620 | 回复:6



关育谋

    
  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2021-11-03 13:13:09
楼主

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


西门子S7-200测试通过,程序网上而来,献给有需要的各位!

一、主程序调用:

64位浮点数保存于VB0开始的存储区中,转换得出的32位浮点数保存于VD100中。

1.png

二、子程序符号表:

10.png

三、子程序网络1:

1.把双精度浮点数的高16位读取出来

2.左移1位,右移5位之后取到双精度浮点数的指数部分

3.双精度浮点数指数减去1023,再加上127得到单精度浮点数的指数部分

四、子程序网络2:

取出双精度浮点数的高8位

4.png

五、子程序网络3:

双精度浮点数指针后移一个字节

5.png

六、子程序网络4:

左移4位,右移8位得到单精度浮点数的小数部分

6.png

七、子程序网络5:

把单精度浮点数的指数部分加上,右移1位空出符号位

7.png

八、子程序网络6:

传送符号位

8.png

九、子程序网络7:

最终结果

9.png

1分不嫌少!


楼主最近还看过



laituan123

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 251回
  • 年度积分:0
  • 历史总积分:110
  • 注册:2013年4月27日
发表于:2022-04-20 15:30:53
1楼

学习学习

guoket

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1522回
  • 年度积分:0
  • 历史总积分:699
  • 注册:2011年10月09日
发表于:2022-04-20 17:23:02
2楼

学习一下,感谢分享!

我不会武功

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:4
  • 历史总积分:167
  • 注册:2022年4月22日
发表于:2022-04-22 14:20:32
3楼

感谢分享

四块五

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 27回
  • 年度积分:0
  • 历史总积分:98
  • 注册:2021年2月25日
发表于:2022-05-13 17:47:17
4楼

学习学习

aicaiming

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 65回
  • 年度积分:0
  • 历史总积分:502
  • 注册:2013年11月22日
发表于:2022-07-17 21:33:00
5楼

学习学习

NOBORP

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 20回
  • 年度积分:351
  • 历史总积分:353
  • 注册:2012年11月14日
发表于:2023-03-08 22:29:22
6楼

虽然现在看不懂,先收藏,慢慢学习,感谢楼主分享。


热门招聘
相关主题

官方公众号

智造工程师