Lua中關於求模與求餘的區別介紹

求模與求餘的區別。

來自:http://www.jb51.net/article/64706.htm

假設對a與b兩個整數做求模或求餘操作。那麼第一步是先求整數商c,即a / b的值,第二步是計算模或餘數:a - c * b。求模與求餘的區別在於怎麼處理a / b的值。

求模運算時,a / b的結果向無窮小方向舍入,求餘運算時a / b的結果向0方向舍入。

因此,求模時結果的符號與b一致,求餘時結果的符號與a一致。

在Lua中4%(-3)等於-2,由此可以看出lua的%是求模操作而不是求餘操作。4/(-3)向無窮小舍入爲-2,則模數爲4 - (-2 * -3) = -2。

在Lua中math.fmod(4,-3)等於1,因此fmod是求餘操作而不是求模操作。4/(-3)向0方向舍入爲-1,則餘數爲4-(-1 * -3)= 1。

很容易可以得出另一個結論:如果a,b都是正整數的話,求模與求餘沒有區別。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章