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