发布于 2015-04-07 20:03:01
7楼
整数比较,指令本身是不会出错的,包括字节(8位)、整数(16位)、双整数(32),因为这些数都是全编码,所有的二进制组合都是合法,不会产生非法数值错误。
实数(也就是浮点数),S7200中的实数是32位长度编码,但不是所有的2^32个二进制编码都对应一个实数,有少部分编码是非法的,称之为NAN(not a number)。如果你的实数变量变成了NAN,使用此实数的指令就会出错。
要问为什么会出现NAN?这个好比,除数不能为零大家都清楚,可愣是除数为0了,导致指令出错。