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