最近再作一个项目的时候(smart 200,并且再1200上也测试了),发现了1个问题,浮点数相加的指令:
LD T33 // T33通200ms 断200ms
EU
+R VD216, VD310
如果 VD216里是0.0004,VD310是VD8191.9 , 会在VD310累计到 8192后就不再累计了。
有这么几个情况:
如果是VD216里为0.00049 就可以继续累计。
如果VD310里小于8120 也可以累计。
根据手册里说的精确到小数点后6位,不能解释这个问题!
有厂家的技术人员提供了两个方向:
1.整数位和小数位差的太大 会出现这个问题!
2.再运算符点数时 ,涉及到2 或者2的倍数,就会进入死循环(这点完全不懂)
请问这到底是什么问题,有没有技术性的文件可以阅读!
问题补充:没弄明白这个是不是不能回复答题的人,补充说明一下,现在已经处理了问题,所以这个问题不是要知道处理的方法,是想知道怎么造成的这个问题,是什么原理。谢谢!!!