2013-07-13 7 views
20

सिर्फ एक प्रश्न है कि मैंइंफ और नैन क्या है?

के बारे में उलझन में हूं, इसलिए मैं float('inf') के साथ गड़बड़ कर रहा था और यह सोचने के लिए कि इसका क्या उपयोग किया जाता है।

मैंने यह भी देखा कि यदि मैं -inf + inf जोड़ता हूं तो मुझे nan मिलता है जो शून्य या नहीं जैसा होता है।

मैं इन दो मूल्यों के उपयोग के बारे में उलझन में हूं।

इसके अलावा जब मैं nan - inf कर रहा -inf मिलता है नहीं मैं nan मिल मुझे यकीन है कि यह सब बहुत आसान है कर रहा हूँ लेकिन मैं उन्हें पर ठोकर खाई और नहीं पता था कि वे क्या करते हैं।

उत्तर

34

inf अनंत है। -inf इसलिए किसी भी अन्य मूल्य से छोटा है।

nan कोई संख्या नहीं है, और यह 0 के बराबर नहीं है।

हालांकि सकारात्मक और नकारात्मक अनन्तता के बारे में 0 सममित होने के लिए कहा जा सकता है, एक ही किसी भी मूल्य n के लिए कहा जा सकता है, जिसका अर्थ है कि दो पैदावार nan जोड़ने का परिणाम है। इस विचार पर this math.se question में चर्चा की गई है।

क्योंकि nan (शाब्दिक) है एक नंबर, आप इसके साथ अंकगणित नहीं कर सकता है, इसलिए दूसरे ऑपरेशन का परिणाम भी कोई अंक नहीं है (nan)

+0

ओहह हाहा बस धन्यवाद वॉल्यूम वॉल्यूम! – Serial

2

nan का अर्थ है "कोई संख्या नहीं", एक फ्लोट वैल्यू जो आपको मिलता है यदि आप गणना करते हैं जिसका परिणाम किसी संख्या के रूप में व्यक्त नहीं किया जा सकता है। NaN के साथ आपके द्वारा किए गए किसी भी गणना के परिणामस्वरूप NaN भी होगा।

inf का मतलब अनंत है।

उदाहरण के लिए: - कि किसी भी अन्य मूल्य से अधिक है एक मूल्य

>>> 2*float("inf") 
inf 
>>> -2*float("inf") 
-inf 
>>> float("inf")-float("inf") 
nan 
3

Inf अनंत है, यह एक "बड़ा है अन्य सभी संख्याओं की तुलना में "संख्या। आप जो कुछ भी चाहते हैं उसे घटाने का प्रयास करें, यह कोई छोटा नहीं मिलता है। सभी संख्या < Inf हैं। -Inf समान है, लेकिन सब कुछ से छोटा है।

NaN का मतलब संख्या नहीं है। यदि आप गणना करने की कोशिश करते हैं जो केवल समझ में नहीं आता है, तो आपको NaN मिलता है। Inf - Inf ऐसी एक गणना है। आम तौर पर NaN का मतलब यह है कि कुछ डेटा गुम है।

2

आप कहते हैं:

मुझे नहीं मिलती है, जब मैं करना nan - inf-inf मैं मिल nan

इसका कारण यह है किसी भी आपरेशन NaN युक्त के रूप में एक संकार्य NaN लौट आते हैं।

NaN के साथ तुलना अनॉर्डर्ड परिणाम लौटाएगी।

>>> float('Inf') == float('Inf') 
True 
>>> float('NaN') == float('NaN') 
False 
संबंधित मुद्दे