szrunluo
級別: *
|
使用除法運算時,DIV, 10000 / 6=1666, 余數是0.666667. 但在PC運行中計算出來的余數是4,我百思不解PC是怎樣轉換過來的結果, 請求高手指點. |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
這是因爲您的PLC或者您的程式有問題! 如果您的PLC不支持浮點運算,那麼將會以整除來計算,其結果自然是商+餘數,而餘數就是4了。 如果您的PLC支持浮點運算,而您卻未使用帶有E的浮點運算指令,那麼也是如上的結果。 以上! |
---|---|
本帖最近評分記錄: |
szrunluo
級別: *
|
一樓,我是沒有用浮點運算,小數點后被PC換成整數,我奇怪的就是這點,我自己換算了一下,卻不知用的是哪個公式,結果才會等于4。請你把這個說明一下好嗎,謝謝。 |
---|---|
|
szrunluo
級別: *
|
我心急想知道這個結果,不知怎樣把貼子頂上去,只用這個方法了,請不要見笑,望有知道這是怎么回事的高手們解答一下,謝謝,謝謝。 |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
您無需重復頂貼以引起關注,您完全可以使用站內短訊聯系…… 請您翻開您的《FX1S,FX1N,FX2N編程手冊》至185頁,上面所述的DIV指令的用法。 三菱對于除法的原則是:被除數/除數=商……余數,也就是說,例如:10除以3,三菱的結果將會在地址1中保留商3,然后在地址1+1上保留余數1. 而您的概念是存在一定模糊的,其最終原因在于您混淆了余數與尾數的概念,以10除3為例,余數為1,尾數為0.3333333…… 以上~~ |
---|---|
本帖最近評分記錄: |
zxdha
級別: 略有小成
|
簡單點說,div或ddiv是整數運算指令,在運算時它不會去計算小數點后面的數據,也就是說它只運算到個位數為止,所以余數也一定是整數。如1000除以6等于166,余數肯定為4。 而使用浮點運算從理論上來說是不存在余數的!。嶋H應用中主要看你使用32位計算、還是使用64位計算、還是用128位計算,位數越高精確度也越高。如1000除以6等于166.66666666666.......7。請注意小數點后面的0.66666666666.......7它其實是商,而不是余數!! |
---|---|
本帖最近評分記錄: |