पाइथन में -103/100 == -2
लेकिन 103/100 == 1
क्यों है? मुझे समझ में नहीं आता क्यों।क्यों -103/100 == -2 लेकिन 103/100 == पायथन में 1?
उत्तर
इंटीजर डिवीजन हमेशा नीचे (नकारात्मक अनंतता की ओर) गोल करता है।
सादा या लंबे पूर्णांक विभाजन एक ही प्रकार के एक पूर्णांक पैदावार; नतीजा यह है कि गणितीय विभाजन के मंजिल फ़ंक्शन परिणाम पर लागू होता है।
http://docs.python.org/2/reference/expressions.html#binary-arithmetic-operations
यह पूर्णांक विभाजन और सापेक्ष के लिए अनुमति देता है (शेष, %
) ऑपरेटरों अच्छी तरह से पहचान x == (x/y)*y + (x%y)
के माध्यम से कनेक्ट करने के लिए।
मंजिल (एक्स) सबसे बड़ा पूर्णांक नहीं से अधिक एक्स है।
'(// // b) * b + a% b == a' पर एक नोट जोड़ने लायक हो सकता है। – abarnert
(+1) तस्वीर अद्भुत है। जहां तक शब्द का संबंध है, मुझे "राउंड डाउन" की वरीयता में "ऋणात्मक अनंतता की ओर राउंड" कहने के लिए यह कम अस्पष्ट लगता है। – NPE
[विकिपीडिया] (http: //en.wikipedia।संगठन/विकी/मॉडुलो_ऑपरेशन # Remainder_calculation_for_the_modulo_operation) वास्तव में एक बहुत अच्छी व्याख्या है कि क्यों अधिकांश भाषाएं (सी 9 0 एक उल्लेखनीय अपवाद है) या तो विभाजन और लाभांश-चिह्न मॉड्यूलो, या फर्श डिवीजन और डिवीजर-साइन मॉड्यूल को छोटा कर दिया गया है। या तो एक उचित है (हमेशा एक सकारात्मक विकल्प है, हमेशा सकारात्मक पॉड्यूलस के साथ), लेकिन जिस तरह से पायथन चुना गया है वह दोनों सिद्धांत सिद्धांत और व्यावहारिक अंकगणितीय में अधिक आम है। – abarnert
इंटीजर डिवीजन लेता है (मुझे विश्वास है) जो भी फ्लोट बाहर आता है, उतना ही कम या कम।
तो यह पहला विभाजन के लिए -2 और दूसरे के लिए 1 है।
- 1. जावास्क्रिप्ट में, [1, 2] == [1, 2] या ({a: 1}) == ({a: 1}) झूठी क्यों है?
- 2. पायथन Syntax dictr के साथ शब्द (1 = ...), लेकिन {1: ...}
- 3. क्यों नहीं (sqrt (-1), 2) वापसी -1?
- 4. 0 [1, 2] == सच में, क्यों?
- 5. कास्ट ऑपरेशन 1 मामले में विफल क्यों होता है लेकिन 2 मामले में सफल होता है?
- 6. क्यों int32 अधिकतम मूल्य 2^31 -1
- 7. क्यों रेफकाउंट 2 नहीं 1 है?
- 8. पायथन सूची त्रुटि: [:: - 1] चरण [: -1] स्लाइस
- 9. आर में 1..99,999 == "1" .. "99,999" क्यों है, लेकिन 100,000! = "100,000"?
- 10. 2 संग्रहों के बीच अंतर? (संग्रह 1 में तत्व, लेकिन संग्रह में नहीं 2)
- 11. परिवर्तनीय 1 = ({कथन 1; कथन 2;}) सी
- 12. कोणीय 2 आरसी 1 बाल मार्ग परिभाषित किए गए लेकिन
- 13. क्यों (1 == 2! = 3) पायथन में गलत का मूल्यांकन करता है?
- 14. दो प्लस ऑपरेटर क्यों नहीं फेंकते हैं (उदा।, 1 + 2)
- 15. जावा में 2 मर्ज 2 संग्रह (1)
- 16. पायथन में मॉड्यूल की तुलना करना। ठीक है, लेकिन क्यों?
- 17. क्यों 2 .__ पायथन में __ (3) काम नहीं करता है?
- 18. लेखन त्रुटि: प्रवेश() 1 स्थितीय तर्क लेता लेकिन 2
- 19. क्यों (true && 1) 1 लौटाता है, लेकिन (1 && true) सत्य लौटाता है?
- 20. MySQL - DECIMAL (2, 2) में 1 का मूल्य 0.9 9
- 21. स्केला: क्यों 1/0 अंकगणितीय अपवाद लेकिन 1.0/0.0 = Double.Infinity
- 22. (-1 >> 1) == -1 - क्यों?
- 23. $ 1, $ 2, $ 3
- 24. जावा 2^31 - 1 में अधिकतम पूर्णांक क्यों नहीं है और 2^31
- 25. ओ (1) पायथन
- 26. "www" .count ("ww") क्यों 1 और 2 नहीं देता है?
- 27. जावास्क्रिप्ट में 2 /// 2 2 क्यों है?
- 28. क्यों 2 + 1 और 0 परिणाम 0 है?
- 29. रेगेक्स $ 1, $ 2, आदि
- 30. हास्केल: "1 + 2"
एकीकृत अनंतता की ओर इंटीजर विभाजन दौर। –
क्या आप पूछ रहे हैं कि यह कैसे काम करता है, या इसे इस तरह से काम करने के लिए क्यों डिजाइन किया गया था? – abarnert
@abarnert मुझे लगता है कि – frazras