實(shí)數(shù)和長整數(shù)間的轉(zhuǎn)換實(shí)例——西門子S7系列PLC
指令 | 說 明 |
RND | 將實(shí)數(shù)化整為最接近的整數(shù)。 |
RND+ | 將實(shí)數(shù)化整為大于或等于該實(shí)數(shù)的最小整數(shù) |
RND- | 將實(shí)數(shù)化整為小于或等于該實(shí)數(shù)的最大整數(shù) |
TRUNC | 取實(shí)數(shù)的整數(shù)部分(截尾取整) |
因?yàn)閷?shí)數(shù)的數(shù)值范圍遠(yuǎn)大于32位整數(shù),所以有的實(shí)數(shù)不能成功地轉(zhuǎn)換為32位整數(shù)。如果被轉(zhuǎn)換的實(shí)數(shù)格式非法或超出了32位整數(shù)的表示范圍,則在累加器1中得不到有效結(jié)果,而且狀態(tài)字中的OV和OS被置1。
上面的指令都是將累加器1中的實(shí)數(shù)化整為32位整數(shù),因化整的規(guī)則不同,所以在累加器1中得到的結(jié)果也不一致,如下表
執(zhí)行的 指令 | 累加器l內(nèi)容 | 說 明 | |
化整前 | 化整結(jié)果 | ||
RND | +99.5 | +100 | 將實(shí)數(shù)化整為最接近的整數(shù) |
RND+ | +99.5 | +100 | 將實(shí)數(shù)化整為大于或等于該實(shí)數(shù)的最小整數(shù) |
RND- | +99.5 | +99 | 將實(shí)數(shù)化整為小于或等于該實(shí)數(shù)的最大整數(shù) |
TRUNC | +99.5 | +99 | 只取實(shí)數(shù)的整數(shù)部分(截尾取整) |
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。