回复:S7-200smart 有符号如何变为无符号,在程序里面进行显示运算

已锁定

yanxiao

版主

  • 帖子

    12325
  • 精华

    49
  • 被关注

    194

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2022-08-06 23:50:55

4楼

楼主如果最终可以接受浮点数作结果,这个转换没有问题。

给一个思路:

VD4112分成高16位和低16位,分别制造成二个32位的正数,独自转成浮点数。

高16位转成的浮点数,乘上权值65536.0,再加上低16位转成的浮点数,就是最终结果。


不过精度会损失很多,最多可损失9个二进制位。


受3楼启发:

把VD4112的最高位取出来保存,比如M0.0

然后清掉VD4112的最高位,变成一个“正数”

转成浮点数

如果M0.0=1,再加上2147483648.0


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有9426条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。