अपने विशिष्ट सवाल का जवाब करने के लिए:
मैं उनके पास एक मूल्य की तलाश में आया जो से अधिक होगा या अन्य सभी फ्लोट या सबसे बड़ी को छोड़कर विफल हो जाएगा। क्या मानदंडों को पूरा करता है?
हाँ, Float.POSITIVE_INFINITY
इसकी परिभाषा, केवल Float
कि Float.MAX_VALUE
से अधिक है द्वारा, है। हालांकि, यह गणितीय परिचालनों के साथ कैसे बातचीत करता है, इस मामले में एक विशेष मामला है।
जावाडोक से:
public static final float POSITIVE_INFINITY:
प्रकार नाव का एक निरंतर पकड़े सकारात्मक अनंत। यह के बराबर है Flat.intBitsToFloat (0x7f800000) द्वारा लौटाया गया मान।
public static final float MAX_VALUE:
एक निरंतर प्रकार नाव का सबसे बड़ा सकारात्मक परिमित मूल्य, (2-2-23) · 2127 पकड़े। यह हेक्साडेसिमल फ्लोटिंग-पॉइंट शाब्दिक 0x1.fffffeP + 127f के बराबर है और Float.intBitsToFloat (0x7f7fffff) के बराबर है।
तो, जैसा कि आप देख सकते हैं, बहुत शाब्दिक परिभाषा के अनुसार कि POSITIVE_INFINITY
से अधिक MAX_VALUE
एक बिट से है।
उनकी उपयोगिता के संदर्भ में, POSITIVE_INFINITY
एक मूल्य प्रदान करता है जिसे आप अन्यथा समस्याग्रस्त गणितीय अभिव्यक्तियों को पहचानने के लिए उपयोग कर सकते हैं। जेडीके स्रोत में इस्तेमाल किया जाने वाला एक 1.0f/0.0f
है। इस अभिव्यक्ति का परिणाम POSITIVE_INFINITY
है, जो दर्शाता है कि आपने उचित गणित के ऊपरी सीमा को पार कर लिया है, कभी वापस नहीं आना। दो स्थिरांक POSITIVE_INFINITY
और NEGATIVE_INFINITY
को देखते हुए, आप यह देखने के लिए जांच सकते हैं कि एक सामान्य अभिव्यक्ति ने उपयोगी फ़्लोट की सीमाओं को छोड़ दिया है और क्या यह सकारात्मक या नकारात्मक दरवाजा था।
MAX_VALUE
, दूसरी ओर, अधिकतम मूल्य का प्रतिनिधित्व करता है जिस पर आप अभी भी सामान्य गणितीय परिचालन लागू कर सकते हैं। उदाहरण के लिए, MAX_VALUE - 1.0f
MAX_VALUE
से एक छोटा (बहुत छोटा) छोटा नंबर है। POSITIVE_INFINITY - 1.0f
, हालांकि, अभी भी POSITIVE_INFINITY
है।
तो, किसी अन्य फ्लोट के साथ तुलना की जाने पर, Float.POSITIVE_INFINITY हमेशा अधिक होगा? – Adam
@Adam: जब तक अन्य फ्लोट 'NaN' नहीं है, हाँ। ('NaN' न तो किसी भी फ्लोट से न तो उससे कम और न ही कम है।) –
बिल्कुल सही। धन्यवाद! – Adam