Haskell रिपोर्ट से:quotRem और divMod के बीच अंतर कब उपयोगी है?
quot, रेम, div, और आधुनिक वर्ग तरीकों इन कानूनों को संतुष्ट करता है, तो 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
क्या जहां के कुछ उदाहरण कैसे परिणाम छोटा कर दिया मामलों है के बीच अंतर कर रहे हैं?
"ताकि शेष हमेशा नॉनगेटिव हो" तकनीकी रूप से, 'मोड' का संकेत दूसरे ऑपरेंड के संकेत का पालन करता है। – newacct
हू, आप सही हैं। मैं इस डिजाइन निर्णय को समझ नहीं पा रहा हूं ... – ShreevatsaR
यह संपत्ति को बनाए रखने के लिए है कि '(q, r) = divMod x y' अगर और केवल' x = q * y + r'। एक उदाहरण चलाएं, यह चालाक है कि यह कैसे काम करता है। – luqui