实数和长整数间的转换实例——西门子S7系列PLC
指令 | 说 明 |
RND | 将实数化整为最接近的整数。 |
RND+ | 将实数化整为大于或等于该实数的最小整数 |
RND- | 将实数化整为小于或等于该实数的最大整数 |
TRUNC | 取实数的整数部分(截尾取整) |
因为实数的数值范围远大于32位整数,所以有的实数不能成功地转换为32位整数。如果被转换的实数格式非法或超出了32位整数的表示范围,则在累加器1中得不到有效结果,而且状态字中的OV和OS被置1。
上面的指令都是将累加器1中的实数化整为32位整数,因化整的规则不同,所以在累加器1中得到的结果也不一致,如下表
执行的 指令 | 累加器l内容 | 说 明 | |
化整前 | 化整结果 | ||
RND | +99.5 | +100 | 将实数化整为最接近的整数 |
RND+ | +99.5 | +100 | 将实数化整为大于或等于该实数的最小整数 |
RND- | +99.5 | +99 | 将实数化整为小于或等于该实数的最大整数 |
TRUNC | +99.5 | +99 | 只取实数的整数部分(截尾取整) |
文章版权归西部工控xbgk所有,未经许可不得转载。