首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果系统不支持64位算术,如何将8字节数组转换为32位数字?

如果系统不支持64位算术,如何将8字节数组转换为32位数字?
EN

Stack Overflow用户
提问于 2022-03-18 13:50:08
回答 1查看 673关注 0票数 0

我有一个8字节的数组,代表一些巨大的数字,例如11017125042小数点-它看起来像000000090ABFC B2。

我想把8字节转换成32位有符号整数,去掉最后4位数字。

如果你想知道,这是一个位置值,其中一次革命是10亿个单位,所以这个值意味着11.017125042次革命。我不需要如此荒谬的决议,所以我想得到初始值除以10,000 - 1101712,而不是11017125042。

棘手的部分是该系统(西门子PLC)不支持64位算法.知道怎么做吗?

谢谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-21 10:51:37

在LAD/FBD块的SCL块或SCL网络中执行此操作。

代码语言:javascript
复制
#posLrealDiv10k :=
+ #posBytes[7] * 0.0001 //remove if you don't care
+ #posBytes[6] * 0.0256 //remove if you don't care
+ #posBytes[5] * 6.5536 //...
+ #posBytes[4] * 1677.7216
+ #posBytes[3] * 429496.7296
+ #posBytes[2] * 109951162.7776
+ #posBytes[1] * 28147497671.0656
+ #posBytes[0] * 7205759403792.7936;

SIOS论坛通常对这类转换问题很有帮助。只是不是这个特别的,似乎。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71528049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档