回复:S7-300浮点数乘法计算结果小bug

史德利古尔

  • 帖子

    745
  • 精华

    4
  • 被关注

    71

论坛等级:至圣

注册时间:2015-02-13

钻石 钻石 如何晋级?

发布于 2019-05-16 14:48:52

5楼

计算机使用的是二进制,十进制下的有限小数转换成二进制可能是无限小数,而浮点数采用的是科学计数法,有效位就那么几位,这样就会丢失一部分精度。

比如十进制的0.1转换成二进制是0.0001100110011001100110011001100110011001100110011001101

取前几位的精度0.00011,再转换成十进制是0.09375,PLC里面浮点取的精度比这高,但也只是接近0.1,不会等于0.1的。

这样两个乘数都是近似值,结果自然也是近似值,但这个精度一般够用,不用太纠结。

用贴吧的一句话“图都绿了”跟这个原因类似。


吾生也有涯,而知也无涯。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54757条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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