为什么一个数乘以1.01,就变成这个数的两倍多了呢?

编码器测得的双整形变量比实际值小了约1%,比如说测量值是91,但实际值是92,我就用DI_R把它变成实型数,然后用MUL_R将其乘以1.01,然后再将其变成双整形数。可是我乘1.01后结果得到的数为196,比原来大了2.2倍左右,请问这是怎么回事?既然大了2.2倍,我觉得我就再除以2.2,数不就正好了吗?但是实际上,一除2.2,得到的值就变成0了,请问这又是怎么回事?

最佳答案

我觉得要用整数乘除法,尽量不用小数乘除法,因为它存在将结果四舍五入造成误差!

提问者对于答案的评价:
谢谢,可惜还不是很明白

专家置评

看问题描述应该是指令使用问题,并不是数据类型转换问题。最好有指令贴图。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc225409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日
下一篇 2018年12月1日

相关推荐