मैं प्रोग्रामिंग और पायथन में शुरुआत कर रहा हूं। मैं कुछ सरल गणित संचालन कर रहा हूं। इसलिए पाइथन दुभाषिया में 3/2
हमें पता है कि 1
देता है। लेकिन -3/2
-2
देता है। क्या आप यहां अंतर बता सकते हैं?3/2 और -3/2 के बीच क्या अंतर है?
उत्तर
अजगर 2 में, /
पूर्णांक विभाजन प्रदर्शन करती है। इसका अर्थ यह है कि परिणाम, यदि यह पूर्णांक नहीं है, तो अगले पूर्णांक मान पर को गोलाकार कर दिया गया है। जब मान नकारात्मक होता है, तो यह स्वाभाविक रूप से एक बड़े-आयाम ऋणात्मक संख्या के लिए गोल होता है।
सहजता से, पूर्णांक विभाजन का परिणाम फ्लोट विभाजन के परिणामस्वरूप mathematical floor है। इस कारण से, पूर्णांक विभाजन को आमतौर पर floor division के रूप में भी जाना जाता है।
floor(1.5) # Returns 1.0
floor(-1.5) # Returns -2.0
यह अपने मॉड्यूल के शीर्ष पर from __future__ import division
डालकर अजगर 2 में इस व्यवहार को बदलने के लिए संभव है। यह आयात /
ऑपरेटर केवल सच्चा विभाजन (फ्लोट डिवीजन) इंगित करेगा, और //
ऑपरेटर के साथ स्पष्ट मंजिल विभाजन (पूर्णांक विभाजन) को सक्षम करेगा। इन सम्मेलनों पायथन 3. में मानक हैं
from __future__ import division
print(3/2) # 1.5
print(3//2) # 1
टिप्पणी में नोट @Dunes रूप में, यह -
/
तुलना में एक उच्च पूर्वता है, और इसलिए -3/2
(-3)/2
बजाय -(3/2)
के बराबर है कि ध्यान देने योग्य है। यदि विभाजन पहले लागू किया गया था, तो परिणाम वास्तव में -1
होगा।
मुझे लगता है कि राउंडिंग डाउन को आम तौर पर 'फ्लोर' +1 कहा जाता है, जो इसे बेहतर तरीके से समझाता है –
यह ध्यान देने योग्य है कि '-' यूनरी ऑपरेटर है और डिवीजन ऑपरेटर से अधिक कसकर बांधता है। यदि यह चारों ओर एक और तरीका था तो परिणाम वही होंगे। – Dunes
पायथन 3.4.2 में, 'int (-1.5)' रिटर्न '-1'। –
-3/2 == -1.5 , floor(-1.5) = -2
वैसे ही
3/2 == 1.5 , floor(1.5) = 1
पायथन के दो डिवीजन ऑपरेटर हैं।
/
//
यहाँ, //
हमेशा निकटतम पूर्णांक (भले ही ऑपरेंड के प्रकार के) के लिए परिणाम दौर। इसे फर्श डिवीजन कहा जाता है। लेकिन /
निकटतम पूर्णांक तक चलेगा, यदि दोनों ऑपरेंड पूर्णांक हैं, तो यह वास्तविक विभाजन करता है यदि ऑपरेटरों में से कोई भी एक फ्लोट है।
अंतर स्पष्ट रूप से इस उदाहरण से समझा जा सकता है,
>>> 11/4
2
>>> 11.0/4
2.75
>>> 11//4
2
>>> 11.0//4.0
2.0
Python Documentation on floor division से हवाला देते हुए,
गणितीय विभाजन कि निकटतम पूर्णांक करने के लिए नीचे दौर। फर्श डिवीजन ऑपरेटर
//
है।उदाहरण के लिए, अभिव्यक्ति11 // 4
2
पर2.7
5 के विपरीत फ्लोट सच्चे डिवीजन द्वारा लौटाई गई है। ध्यान दें कि(-11) // 4
-3
है क्योंकि-2.75
नीचे है। PEP 238 देखें।
उद्धृत पाठ में अंतिम पंक्ति आपके वास्तविक प्रश्न का उत्तर होगी।
निकटतम पूर्णांक में फ़्लोर विभाजन और गोलाकार दो गैर समकक्ष अवधारणाएं हैं। पायथन 3.4.2 में, '5 // 3' 1 उत्पन्न करेगा, और 'राउंड (5/3)' उपज करेगा 2.' // 'ऑपरेटर हमेशा नकारात्मक अनंतता की ओर बढ़ेगा। –
- 1. पीई 32 + और पीई 32 के बीच क्या अंतर है?
- 2. 32 और 64-बिट .NET (4) अनुप्रयोगों के बीच अंतर
- 3. 32 और 64 बिट प्रक्रियाओं के बीच memcpy प्रदर्शन अंतर
- 4. और
- 5. 32-बिट मेमोरी और 32-बिट प्रोसेसर
- 6. 32 और 40 बिट
- 7. आईआई 32/ia64 पर एडीसी और एडीसीएक्स निर्देशों के बीच क्या अंतर है?
- 8. क्या वीबीएनईटी में इंटीजर और इंट 32 के बीच कोई अंतर है?
- 9. क्या 32-बिट .NET अनुप्रयोग और 64-बिट .NET अनुप्रयोग के बीच कोई अंतर है?
- 10. सीआरसी 32 बनाम सीआरसी 32 सी?
- 11. बेस 32 एन्कोडिंग क्या है?
- 12. 32 बिट
- 13. उपयोगकर्ता 32 और सी #
- 14. एसटीएम 32
- 15. क्या 32-बिट हैश बनाम दो 16 बिट हैंश के बीच टकराव दर अंतर है?
- 16. सिस्टम 32
- 17. आईए -32
- 18. 32 बिट
- 19. RegSvr और RegServer के बीच क्या अंतर है?
- 20. एक्सकोड 4 में "माई मैक 32-बिट" और "माई मैक 64-बिट" के बीच अंतर?
- 21. 32 केबी संकलित कोड
- 22. कि 32 और 64-बिट
- 23. यूटीएफ 32 और सी # समस्या
- 24. 32-बिट परिवर्तनीय 32 बिट्स को स्थानांतरित करने के बारे में क्या बुरा है?
- 25. क्या "अतिरिक्त" और "बिटवाईव अतिरिक्त" के बीच कोई अंतर है?
- 26. 32 बिट और 64 बिट विंडोज़
- 27. विजुअल स्टूडियो में "विन 32 प्रोजेक्ट", "सीएलआर खाली परियोजना" और "खाली परियोजना" टेम्पलेट्स के बीच क्या अंतर है?
- 28. 32 और 64 बिट एमएस विंडोज पर Int64 और Int32 के बीच वास्तविक प्रदर्शन अंतर क्या हैं?
- 29. 32 बिट चर के ओवरफ्लो
- 30. 32 बिट पूर्णांक पर 32 बिट फ्लोट को मानचित्र करें
'3/2' -> 1.5, नीचे 1 '-3/2' -> -1.5, गोलाकार -2 तक गोल किया गया। –
पाइथन नकारात्मक अनंतता की ओर बढ़ने के स्पष्टीकरण के लिए http://stackoverflow.com/a/19518866/190597 भी देखें। – unutbu