從Haskell的報告:quotRem和divMod之間的區別是什麼時候有用?
的QUOT,REM,DIV,以及mod類 方法滿足這些法律如果y是 非零:
(x `quot` y)*y + (x `rem` y) == x (x `div` y)*y + (x `mod` y) == x
quot
是整數除法截斷 朝向零,而div
的結果被截斷爲負無窮。
例如:
Prelude> (-12) `quot` 5
-2
Prelude> (-12) `div` 5
-3
什麼是其中一些例子的結果如何被截斷的問題有什麼區別?
「這樣餘數總是非負的」從技術上講,mod的符號遵循第二個操作數的符號。 – newacct 2009-05-07 04:41:00
嗯,你說得對。我不明白這個設計決定... – ShreevatsaR 2009-05-07 15:31:01