अंकगणितीय अंतर्प्रवाह: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Redirect|Underflow|the condition of attempting to read an empty buffer|Buffer underrun}} | {{Redirect|Underflow|the condition of attempting to read an empty buffer|Buffer underrun}} | ||
शब्द अंकगणितीय अंतर्प्रवाह (फ़्लोटिंग पॉइंट अंतर्प्रवाह, या केवल फ़्लोटिंग) [[कंप्यूटर प्रोग्राम]] में ऐसी स्थिति है जहाँ गणना का परिणाम कंप्यूटर की अपेक्षा में अधिक सटीक निरपेक्ष मान होता है जो वास्तव में इसकी केंद्रीय प्रसंस्करण इकाई (सीपीयू) पर[[ स्मृति | मेमोरी]] में प्रतिनिधित्व कर सकता है। | |||
[[पूर्णांक (कंप्यूटर विज्ञान)]] चर में बहुत कम मानों को संग्रहीत करना (उदाहरण के लिए, | अंकगणित अंतर्प्रवाह तब हो सकता है जब [[फ़्लोटिंग-पॉइंट अंकगणित]] का सही परिणाम लक्ष्य [[डेटा प्रकार]] में [[सामान्य संख्या (कंप्यूटिंग)|सामान्य फ़्लोटिंग पॉइंट संख्या (कंप्यूटिंग)]] के रूप में प्रस्तुत किए जाने वाले सबसे छोटे मान की अपेक्षा में परिमाण में छोटा (अर्थात शून्य के करीब) होता है।<ref>{{cite journal|last1=Coonen|first1=Jerome T|s2cid=206445847|title=फ़्लोटिंग-पॉइंट अंकगणित के लिए प्रस्तावित मानक के लिए एक कार्यान्वयन मार्गदर्शिका|journal=Computer|date=1980|volume=13|issue=1|pages=68–79|doi=10.1109/mc.1980.1653344}}</ref> अंडरफ्लो को फ़्लोटिंग पॉइंट वैल्यू के एक्सपोनेंट के नकारात्मक अंकगणितीय अतिप्रवाह के रूप में माना जा सकता है। उदाहरण के लिए, यदि [[प्रतिपादक]] भाग 128 से 127 तक के मानों का प्रतिनिधित्व कर सकता है, तो 128 से कम मान वाले परिणाम के कारण अंतर्प्रवाह हो सकता है। | ||
[[पूर्णांक (कंप्यूटर विज्ञान)]] चर में बहुत कम मानों को संग्रहीत करना (उदाहरण के लिए, [[हस्ताक्षर|अहस्ताक्षरित]] पूर्णांक -1 को में संग्रहीत करने का प्रयास करना) को उचित रूप से पूर्णांक अतिप्रवाह या पूर्णांक रैपराउंड के रूप में संदर्भित किया जाता है। अंडरफ्लो शब्द सामान्य रूप से फ्लोटिंग पॉइंट नंबरों को संदर्भित करता है, जो भिन्न विषय है। अधिकांश फ़्लोटिंग-पॉइंट डिज़ाइनों में बहुत कम मान संग्रहीत करना संभव नहीं है, क्योंकि सामान्यतः वे हस्ताक्षरित होते हैं और उनका नकारात्मक अनंत मान होता है। | |||
== अंडरफ्लो गैप == | == अंडरफ्लो गैप == | ||
-fminN और fminN के बीच का अंतराल, जहां fminN सबसे छोटा सकारात्मक सामान्य फ़्लोटिंग पॉइंट मान है, को | -fminN और fminN के बीच का अंतराल, जहां fminN सबसे छोटा सकारात्मक सामान्य फ़्लोटिंग पॉइंट मान है, को अंतर्प्रवाह गैप कहा जाता है। ऐसा इसलिए है क्योंकि इस अंतराल का आकार अंतराल के ठीक बाहर आसन्न सामान्य फ़्लोटिंग पॉइंट मानों के बीच की दूरी से अधिक परिमाण के कई आदेश हैं। उदाहरण के लिए, यदि फ़्लोटिंग पॉइंट डेटाटाइप 20 [[ अंश ]]्स का प्रतिनिधित्व कर सकता है, तो अंतर्प्रवाह गैप 2 है<sup>गैप के ठीक बाहर सन्निकट फ़्लोटिंग पॉइंट मानों के बीच की निरपेक्ष दूरी से 21</sup> गुना बड़ा।<ref>{{cite book|last1=Sun Microsystems|title=संख्यात्मक संगणना गाइड|date=2005|publisher=Oracle|url=https://docs.oracle.com/cd/E19422-01/819-3693/|accessdate=21 April 2018}}</ref> | ||
पुराने डिजाइनों में, अंडरफ्लो गैप का केवल एक प्रयोग करने योग्य मूल्य था, शून्य। जब एक | पुराने डिजाइनों में, अंडरफ्लो गैप का केवल एक प्रयोग करने योग्य मूल्य था, शून्य। जब एक अंतर्प्रवाह हुआ, तो सही परिणाम को शून्य से बदल दिया गया (या तो सीधे हार्डवेयर द्वारा, या सिस्टम सॉफ़्टवेयर द्वारा प्राथमिक अंतर्प्रवाह स्थिति को संभालने के द्वारा)। इस प्रतिस्थापन को फ्लश टू जीरो कहा जाता है। | ||
[[IEEE 754]] के 1984 के संस्करण में [[असामान्य संख्या]]एं पेश की गईं। सबनॉर्मल नंबर (शून्य सहित) | [[IEEE 754]] के 1984 के संस्करण में [[असामान्य संख्या]]एं पेश की गईं। सबनॉर्मल नंबर (शून्य सहित) अंतर्प्रवाह गैप को उन मानों से भरते हैं जहाँ आसन्न मानों के बीच की पूर्ण दूरी अंतर्प्रवाह गैप के ठीक बाहर आसन्न मानों के समान होती है। यह धीरे-धीरे अंतर्प्रवाह को सक्षम करता है, जहां निकटतम असामान्य मान का उपयोग किया जाता है, जैसे संभव होने पर निकटतम सामान्य मान का उपयोग किया जाता है। क्रमिक अंतर्प्रवाह का उपयोग करते समय भी, निकटतम मान शून्य हो सकता है।<ref>{{cite journal|last1=Demmel|first1=James|title=अंडरफ्लो और न्यूमेरिकल सॉफ्टवेयर की विश्वसनीयता|journal=SIAM Journal on Scientific and Statistical Computing|date=1984|volume=5|issue=4|pages=887–919|doi=10.1137/0905062}}</ref> | ||
गैप के ठीक बाहर आसन्न फ़्लोटिंग पॉइंट मानों के बीच की पूर्ण दूरी को [[मशीन एप्सिलॉन]] कहा जाता है, | गैप के ठीक बाहर आसन्न फ़्लोटिंग पॉइंट मानों के बीच की पूर्ण दूरी को [[मशीन एप्सिलॉन]] कहा जाता है, सामान्यतः सबसे बड़े मूल्य की विशेषता होती है जिसका मान 1 के साथ उस फ़्लोटिंग पॉइंट योजना में मान 1 के साथ उत्तर में होगा।<ref>{{cite book|last1=Heath|first1=Michael T.|title=वैज्ञानिक कंप्यूटिंग|date=2002|publisher=McGraw-Hill|location=New York|isbn=0-07-239910-4|page=20|edition=Second}}</ref> इसे इस प्रकार लिखा जा सकता है <math>fl(1+\epsilon) = 1</math>, कहाँ <math>fl()</math> एक ऐसा फ़ंक्शन है जो वास्तविक मान को फ़्लोटिंग पॉइंट प्रस्तुति में परिवर्तित करता है। जबकि मशीन एप्सिलॉन को अंडरफ्लो स्तर (असामान्य संख्याओं को मानते हुए) के साथ भ्रमित नहीं होना है, यह निकटता से संबंधित है। मशीन एप्सिलॉन बिट्स की संख्या पर निर्भर है जो [[महत्व]] बनाते हैं, जबकि अंडरफ्लो स्तर उन अंकों की संख्या पर निर्भर करता है जो एक्सपोनेंट फ़ील्ड बनाते हैं। अधिकांश फ़्लोटिंग पॉइंट सिस्टम में, अंतर्प्रवाह स्तर मशीन एप्सिलॉन से छोटा होता है। | ||
== अंडरफ्लो की हैंडलिंग == | == अंडरफ्लो की हैंडलिंग == | ||
अंतर्प्रवाह की घटना (चिपचिपा) स्थिति बिट सेट कर सकती है, अपवाद बढ़ा सकती है, हार्डवेयर स्तर पर व्यवधान उत्पन्न कर सकती है, या इन प्रभावों के कुछ संयोजन का कारण बन सकती है। | |||
जैसा कि IEEE 754 में निर्दिष्ट किया गया है, अंडरफ्लो स्थिति केवल तभी संकेतित होती है जब परिशुद्धता का नुकसान भी होता है। | जैसा कि IEEE 754 में निर्दिष्ट किया गया है, अंडरफ्लो स्थिति केवल तभी संकेतित होती है जब परिशुद्धता का नुकसान भी होता है। सामान्यतः यह अंतिम परिणाम के अचूक होने के रूप में निर्धारित किया जाता है। | ||
हालाँकि, यदि उपयोगकर्ता अंडरफ्लो पर [[ ट्रैप (कम्प्यूटिंग) ]] कर रहा है, तो यह सटीकता के नुकसान के लिए विचार किए बिना हो सकता है। | हालाँकि, यदि उपयोगकर्ता अंडरफ्लो पर [[ ट्रैप (कम्प्यूटिंग) ]] कर रहा है, तो यह सटीकता के नुकसान के लिए विचार किए बिना हो सकता है। अंतर्प्रवाह (साथ ही अन्य अपवादों) के लिए IEEE 754 में डिफ़ॉल्ट हैंडलिंग एक फ़्लोटिंग पॉइंट स्थिति के रूप में रिकॉर्ड करना है जो अंतर्प्रवाह हुआ है। यह एप्लिकेशन-प्रोग्रामिंग स्तर के लिए निर्दिष्ट है, लेकिन अक्सर यह भी व्याख्या की जाती है कि इसे हार्डवेयर स्तर पर कैसे संभालना है। | ||
== यह भी देखें == | == यह भी देखें == |
Revision as of 14:24, 26 June 2023
शब्द अंकगणितीय अंतर्प्रवाह (फ़्लोटिंग पॉइंट अंतर्प्रवाह, या केवल फ़्लोटिंग) कंप्यूटर प्रोग्राम में ऐसी स्थिति है जहाँ गणना का परिणाम कंप्यूटर की अपेक्षा में अधिक सटीक निरपेक्ष मान होता है जो वास्तव में इसकी केंद्रीय प्रसंस्करण इकाई (सीपीयू) पर मेमोरी में प्रतिनिधित्व कर सकता है।
अंकगणित अंतर्प्रवाह तब हो सकता है जब फ़्लोटिंग-पॉइंट अंकगणित का सही परिणाम लक्ष्य डेटा प्रकार में सामान्य फ़्लोटिंग पॉइंट संख्या (कंप्यूटिंग) के रूप में प्रस्तुत किए जाने वाले सबसे छोटे मान की अपेक्षा में परिमाण में छोटा (अर्थात शून्य के करीब) होता है।[1] अंडरफ्लो को फ़्लोटिंग पॉइंट वैल्यू के एक्सपोनेंट के नकारात्मक अंकगणितीय अतिप्रवाह के रूप में माना जा सकता है। उदाहरण के लिए, यदि प्रतिपादक भाग 128 से 127 तक के मानों का प्रतिनिधित्व कर सकता है, तो 128 से कम मान वाले परिणाम के कारण अंतर्प्रवाह हो सकता है।
पूर्णांक (कंप्यूटर विज्ञान) चर में बहुत कम मानों को संग्रहीत करना (उदाहरण के लिए, अहस्ताक्षरित पूर्णांक -1 को में संग्रहीत करने का प्रयास करना) को उचित रूप से पूर्णांक अतिप्रवाह या पूर्णांक रैपराउंड के रूप में संदर्भित किया जाता है। अंडरफ्लो शब्द सामान्य रूप से फ्लोटिंग पॉइंट नंबरों को संदर्भित करता है, जो भिन्न विषय है। अधिकांश फ़्लोटिंग-पॉइंट डिज़ाइनों में बहुत कम मान संग्रहीत करना संभव नहीं है, क्योंकि सामान्यतः वे हस्ताक्षरित होते हैं और उनका नकारात्मक अनंत मान होता है।
अंडरफ्लो गैप
-fminN और fminN के बीच का अंतराल, जहां fminN सबसे छोटा सकारात्मक सामान्य फ़्लोटिंग पॉइंट मान है, को अंतर्प्रवाह गैप कहा जाता है। ऐसा इसलिए है क्योंकि इस अंतराल का आकार अंतराल के ठीक बाहर आसन्न सामान्य फ़्लोटिंग पॉइंट मानों के बीच की दूरी से अधिक परिमाण के कई आदेश हैं। उदाहरण के लिए, यदि फ़्लोटिंग पॉइंट डेटाटाइप 20 अंश ्स का प्रतिनिधित्व कर सकता है, तो अंतर्प्रवाह गैप 2 हैगैप के ठीक बाहर सन्निकट फ़्लोटिंग पॉइंट मानों के बीच की निरपेक्ष दूरी से 21 गुना बड़ा।[2] पुराने डिजाइनों में, अंडरफ्लो गैप का केवल एक प्रयोग करने योग्य मूल्य था, शून्य। जब एक अंतर्प्रवाह हुआ, तो सही परिणाम को शून्य से बदल दिया गया (या तो सीधे हार्डवेयर द्वारा, या सिस्टम सॉफ़्टवेयर द्वारा प्राथमिक अंतर्प्रवाह स्थिति को संभालने के द्वारा)। इस प्रतिस्थापन को फ्लश टू जीरो कहा जाता है।
IEEE 754 के 1984 के संस्करण में असामान्य संख्याएं पेश की गईं। सबनॉर्मल नंबर (शून्य सहित) अंतर्प्रवाह गैप को उन मानों से भरते हैं जहाँ आसन्न मानों के बीच की पूर्ण दूरी अंतर्प्रवाह गैप के ठीक बाहर आसन्न मानों के समान होती है। यह धीरे-धीरे अंतर्प्रवाह को सक्षम करता है, जहां निकटतम असामान्य मान का उपयोग किया जाता है, जैसे संभव होने पर निकटतम सामान्य मान का उपयोग किया जाता है। क्रमिक अंतर्प्रवाह का उपयोग करते समय भी, निकटतम मान शून्य हो सकता है।[3] गैप के ठीक बाहर आसन्न फ़्लोटिंग पॉइंट मानों के बीच की पूर्ण दूरी को मशीन एप्सिलॉन कहा जाता है, सामान्यतः सबसे बड़े मूल्य की विशेषता होती है जिसका मान 1 के साथ उस फ़्लोटिंग पॉइंट योजना में मान 1 के साथ उत्तर में होगा।[4] इसे इस प्रकार लिखा जा सकता है , कहाँ एक ऐसा फ़ंक्शन है जो वास्तविक मान को फ़्लोटिंग पॉइंट प्रस्तुति में परिवर्तित करता है। जबकि मशीन एप्सिलॉन को अंडरफ्लो स्तर (असामान्य संख्याओं को मानते हुए) के साथ भ्रमित नहीं होना है, यह निकटता से संबंधित है। मशीन एप्सिलॉन बिट्स की संख्या पर निर्भर है जो महत्व बनाते हैं, जबकि अंडरफ्लो स्तर उन अंकों की संख्या पर निर्भर करता है जो एक्सपोनेंट फ़ील्ड बनाते हैं। अधिकांश फ़्लोटिंग पॉइंट सिस्टम में, अंतर्प्रवाह स्तर मशीन एप्सिलॉन से छोटा होता है।
अंडरफ्लो की हैंडलिंग
अंतर्प्रवाह की घटना (चिपचिपा) स्थिति बिट सेट कर सकती है, अपवाद बढ़ा सकती है, हार्डवेयर स्तर पर व्यवधान उत्पन्न कर सकती है, या इन प्रभावों के कुछ संयोजन का कारण बन सकती है।
जैसा कि IEEE 754 में निर्दिष्ट किया गया है, अंडरफ्लो स्थिति केवल तभी संकेतित होती है जब परिशुद्धता का नुकसान भी होता है। सामान्यतः यह अंतिम परिणाम के अचूक होने के रूप में निर्धारित किया जाता है। हालाँकि, यदि उपयोगकर्ता अंडरफ्लो पर ट्रैप (कम्प्यूटिंग) कर रहा है, तो यह सटीकता के नुकसान के लिए विचार किए बिना हो सकता है। अंतर्प्रवाह (साथ ही अन्य अपवादों) के लिए IEEE 754 में डिफ़ॉल्ट हैंडलिंग एक फ़्लोटिंग पॉइंट स्थिति के रूप में रिकॉर्ड करना है जो अंतर्प्रवाह हुआ है। यह एप्लिकेशन-प्रोग्रामिंग स्तर के लिए निर्दिष्ट है, लेकिन अक्सर यह भी व्याख्या की जाती है कि इसे हार्डवेयर स्तर पर कैसे संभालना है।
यह भी देखें
- असामान्य संख्या
- फ़्लोटिंग-पॉइंट अंकगणित
- आईईईई 754
- पूर्णांक अतिप्रवाह
- लघुगणक संख्या प्रणाली
- मशीन एप्सिलॉन
- सामान्य संख्या (कंप्यूटिंग)
संदर्भ
- ↑ Coonen, Jerome T (1980). "फ़्लोटिंग-पॉइंट अंकगणित के लिए प्रस्तावित मानक के लिए एक कार्यान्वयन मार्गदर्शिका". Computer. 13 (1): 68–79. doi:10.1109/mc.1980.1653344. S2CID 206445847.
- ↑ Sun Microsystems (2005). संख्यात्मक संगणना गाइड. Oracle. Retrieved 21 April 2018.
- ↑ Demmel, James (1984). "अंडरफ्लो और न्यूमेरिकल सॉफ्टवेयर की विश्वसनीयता". SIAM Journal on Scientific and Statistical Computing. 5 (4): 887–919. doi:10.1137/0905062.
- ↑ Heath, Michael T. (2002). वैज्ञानिक कंप्यूटिंग (Second ed.). New York: McGraw-Hill. p. 20. ISBN 0-07-239910-4.