आईईईई 754-1985: Difference between revisions

From Vigyanwiki
No edit summary
m (22 revisions imported from alpha:आईईईई_754-1985)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{short description|First edition of the IEEE 754 floating-point standard}}
{{short description|First edition of the IEEE 754 floating-point standard}}
{{See also|आईईईई 754}}
{{See also|आईईईई 754}}
'''आईईईई 754-1985'''<ref>{{Cite book|title=बाइनरी फ़्लोटिंग-पॉइंट अंकगणित के लिए आईईईई मानक|year=1985|doi=10.1109/IEEESTD.1985.82928|isbn=0-7381-1165-1}}</ref> [[कंप्यूटर]] में [[ तैरनेवाला स्थल |फ्लोटिंग-पॉइंट]] नंबर्स को रिप्रेजेंट करने के लिए इंडस्ट्री [[तकनीकी मानक|स्टैण्डर्ड]] था, जिसे सामान्यतः 1985 में स्वीकार किया गया था और 2008 में [[IEEE 754-2008|आईईईई 754-2008]] द्वारा प्रतिस्थापित किया गया था, और फिर 2019 में माइनर वर्ज़न [[IEEE 754-2019|आईईईई 754-2019]] द्वारा प्रतिस्थापित किया गया था।<ref>{{Cite web|url=http://754r.ucbtest.org/background/|title=ANSI/IEEE Std 754-2019|website=754r.ucbtest.org|access-date=2019-08-06}}</ref> अपने 23 वर्षों के समय में, यह फ़्लोटिंग-पॉइंट कैलकुलेशन के लिए सबसे वाइड रूप से उपयोग किया जाने वाला प्रारूप था। इसे सॉफ़्टवेयर में, फ़्लोटिंग-पॉइंट [[ पुस्तकालय (कंप्यूटिंग) |लाइब्रेरीज़]] के रूप में, और हार्डवेयर में, कई [[ CPU |सीपीयू]] और [[फ़्लोटिंग-पॉइंट इकाई|एफपीयू]] के [[निर्देश (कंप्यूटर विज्ञान)|इंस्ट्रक्शन]] में इम्प्लीमेंट किया गया था। आईईईई 754-1985 बनने वाले ड्राफ्ट को इम्प्लीमेंट करने वाला प्रथम इंटीग्रेटेड सर्किट [[इंटेल 8087]] था।
'''आईईईई 754-1985'''<ref>{{Cite book|title=बाइनरी फ़्लोटिंग-पॉइंट अंकगणित के लिए आईईईई मानक|year=1985|doi=10.1109/IEEESTD.1985.82928|isbn=0-7381-1165-1}}</ref> [[कंप्यूटर]] में [[ तैरनेवाला स्थल |फ्लोटिंग-पॉइंट]] नंबर्स का रिप्रजेंटेशन करने के लिए इंडस्ट्री [[तकनीकी मानक|स्टैण्डर्ड]] था, जिसे सामान्यतः 1985 में स्वीकार किया गया था और 2008 में [[IEEE 754-2008|आईईईई 754-2008]] द्वारा प्रतिस्थापित किया गया था, और फिर 2019 में माइनर वर्ज़न [[IEEE 754-2019|आईईईई 754-2019]] द्वारा प्रतिस्थापित किया गया था।<ref>{{Cite web|url=http://754r.ucbtest.org/background/|title=ANSI/IEEE Std 754-2019|website=754r.ucbtest.org|access-date=2019-08-06}}</ref> अपने 23 वर्षों के समय में, यह फ़्लोटिंग-पॉइंट कैलकुलेशन के लिए सबसे वाइड रूप से उपयोग किया जाने वाला फॉर्मेट था। इसे सॉफ़्टवेयर में, फ़्लोटिंग-पॉइंट [[ पुस्तकालय (कंप्यूटिंग) |लाइब्रेरीज़]] के रूप में, और हार्डवेयर में, कई [[ CPU |सीपीयू]] और [[फ़्लोटिंग-पॉइंट इकाई|एफपीयू]] के [[निर्देश (कंप्यूटर विज्ञान)|इंस्ट्रक्शन]] में इम्प्लीमेंट किया गया था। आईईईई 754-1985 बनने वाले ड्राफ्ट को इम्प्लीमेंट करने वाला प्रथम इंटीग्रेटेड सर्किट [[इंटेल 8087]] था।


आईईईई 754-1985 बाइनरी में नंबर्स को रिप्रेजेंट करता है, जो एक्यूरेसी के चार लेवल्स की परिभाषा प्रदान करता है, जिनमें से दो सबसे अधिक उपयोग किए जाते हैं:
आईईईई 754-1985 बाइनरी में नंबर्स को रिप्रजेंटेशन करता है, जो एक्यूरेसी के चार लेवल्स की परिभाषा प्रदान करता है, जिनमें से दो सबसे अधिक उपयोग किए जाते हैं:


{| class="wikitable"
{| class="wikitable"
Line 9: Line 9:
!लेवल  
!लेवल  
!विड्थ  
!विड्थ  
!पूर्ण एक्यूरेसी से रेंज करें
!कम्पलीट एक्यूरेसी से रेंज करें
!एक्यूरेसी{{efn|Precision: The number of decimal digits precision is calculated via number_of_mantissa_bits * Log<sub>10</sub>(2). Thus ~7.2 and ~15.9 for single and double precision respectively.}}
!एक्यूरेसी{{efn|Precision: The number of decimal digits precision is calculated via number_of_mantissa_bits * Log<sub>10</sub>(2). Thus ~7.2 and ~15.9 for single and double precision respectively.}}
|-
|-
Line 22: Line 22:
|लगभग 16 दशमलव अंक
|लगभग 16 दशमलव अंक
|}
|}
स्टैण्डर्ड पॉजिटिव और नेगेटिव इनफाइनाइट के लिए रिप्रेजेंट को भी परिभाषित करता है, [[नकारात्मक शून्य|नेगेटिव शून्य]], [[शून्य से विभाजन]] जैसे अमान्य परिणामों को सुरक्षित करने के लिए पांच एक्सेप्शन, उन एक्सेप्शन्स का रिप्रेजेंट करने के लिए विशेष मान जिन्हें [[NaN]] कहा जाता है, ऊपर दिखाए गए छोटी नंबर्स का रिप्रेजेंट करने के लिए [[असामान्य संख्या|डिनॉर्मल नंबर्स]], और चार गोल मोड है।
स्टैण्डर्ड पॉजिटिव और नेगेटिव इनफाइनाइट के लिए रिप्रजेंटेशन को भी परिभाषित करता है, [[नकारात्मक शून्य|नेगेटिव शून्य]], [[शून्य से विभाजन]] जैसे इनवैलिड परिणामों को सुरक्षित करने के लिए पांच एक्सेप्शन, उन एक्सेप्शन्स का रिप्रजेंटेशन करने के लिए विशेष वैल्यू जिन्हें [[NaN]] कहा जाता है, ऊपर दिखाए गए छोटी नंबर्स का रिप्रजेंटेशन करने के लिए [[असामान्य संख्या|डिनॉर्मल नंबर्स]], और चार गोल मोड है।


==नंबर्स का रिप्रेजेंट==
==नंबर्स का रिप्रजेंटेशन==


[[Image:IEEE 754 Single Floating Point Format.svg|right|frame|संख्या 0.15625 को सिंगल-त्रुटिहीन आईईईई 754-1985 फ़्लोटिंग-पॉइंट संख्या के रूप में दर्शाया गया है। स्पष्टीकरण के लिए टेक्स्ट देखें। ]]
[[Image:IEEE 754 Single Floating Point Format.svg|right|frame|नंबर 0.15625 को सिंगल-एक्यूरेसी आईईईई 754-1985 फ़्लोटिंग-पॉइंट नंबर के रूप में दर्शाया गया है। स्पष्टीकरण के लिए टेक्स्ट देखें। ]]
[[Image:IEEE 754 Double Floating Point Format.svg|right|frame|64 बिट आईईईई 754 में तीन क्षेत्र फ़्लोट होते हैं।]]आईईईई 754 प्रारूप में फ़्लोटिंग-पॉइंट नंबरों में तीन क्षेत्र होते हैं: [[साइन बिट]], बायस्ड घातांक और अंश। निम्नलिखित उदाहरण प्रत्येक का अर्थ बताता है।
[[Image:IEEE 754 Double Floating Point Format.svg|right|frame|64 बिट आईईईई 754 में तीन फील्ड फ़्लोट होते हैं।]]आईईईई 754 फॉर्मेट में फ़्लोटिंग-पॉइंट नंबर्स में तीन फील्ड्स होते हैं: [[साइन बिट]], बायस्ड एक्सपोनेंट और फ्रैक्शन आदि। निम्नलिखित उदाहरण प्रत्येक का अर्थ बताता है।


दशमलव संख्या 0.15625<sub>10</sub> बाइनरी में 0.00101<sub>2</sub> (अर्थात् 1/8 + 1/32) प्रदर्शित किया गया है। (अंकाक्षर संख्या [[मूलांक]] प्रदर्शित करते हैं।) [[वैज्ञानिक संकेतन]] के अनुरूप, जहां नंबर्स को दशमलव बिंदु के बाईं ओर अन्य-शून्य अंक के रूप में लिखा जाता है, हम इस संख्या को पुनः लिखते हैं जिससे कि इसमें बाइनरी बिंदु के बाईं ओर सिंगल 1 बिट होता है। हम तीन स्थितियों द्वारा त्यागे गए बिट्स के स्थानांतरण की पूर्ति के लिए 2 की उचित शक्ति से गुणा करते हैं:
दशमलव नंबर 0.15625<sub>10</sub> बाइनरी में 0.00101<sub>2</sub> (अर्थात् 1/8 + 1/32) प्रदर्शित किया गया है। (सबस्क्रिप्ट नंबर [[मूलांक|बेस]] प्रदर्शित करते हैं।) [[वैज्ञानिक संकेतन|साइंटिफिक नोटेशन]] के अनुरूप, जहां नंबर्स को दशमलव बिंदु के बाईं ओर अन्य-शून्य अंक के रूप में लिखा जाता है, हम इस नंबर को पुनः लिखते हैं जिससे कि इसमें बाइनरी बिंदु के बाईं ओर सिंगल 1 बिट होता है। हम तीन स्टेट्स द्वारा लेफ्ट किये गए बिट्स के ट्रांसफर की पूर्ति के लिए 2 की एप्रोप्रियेट पावर से मल्टीप्लाई करते हैं:


: <math>0.00101_2 = 1.01_2 \times 2^{-3}</math>
: <math>0.00101_2 = 1.01_2 \times 2^{-3}</math>
अब हम भिन्न और घातांक को पढ़ सकते हैं: भिन्न .01<sub>2</sub> है और घातांक −3 है।
अब हम फ्रैक्शन और एक्सपोनेंट को रीड कर सकते हैं: फ्रैक्शन .01<sub>2</sub> है और एक्सपोनेंट −3 है।


जैसा कि चित्रों में प्रदर्शित किया गया है, आईईईई 754 में इस संख्या का रिप्रेजेंट करने वाले तीन क्षेत्र हैं:
जैसा कि चित्रों में प्रदर्शित किया गया है, आईईईई 754 में इस नंबर का रिप्रजेंटेशन करने वाले तीन फील्ड हैं:


: चिन्ह = 0, क्योंकि संख्या पॉजिटिव है (1 नेगेटिव प्रदर्शित करता है।)।
: चिन्ह = 0, क्योंकि नंबर पॉजिटिव है (1 नेगेटिव प्रदर्शित करता है।)।
: बायस्ड घातांक = −3 + बायस है। 'सिंगल एक्यूरेसी' में, बायस '127' है, इसलिए इस उदाहरण में बायस्ड घातांक 124 है; 'डबल प्रिसिजन' में, बायस '1023' है, इसलिए इस उदाहरण में बायस्ड घातांक 1020 है।
: बायस्ड एक्सपोनेंट = −3 + बायस है। 'सिंगल एक्यूरेसी' में, बायस '127' है, इसलिए इस उदाहरण में बायस्ड एक्सपोनेंट 124 है; 'डबल प्रिसिजन' में, बायस '1023' है, इसलिए इस उदाहरण में बायस्ड एक्सपोनेंट 1020 है।
: अपूर्णांक = .01000…<sub>2</sub>.
: फ्रैक्शन = .01000…<sub>2</sub>.


आईईईई 754 घातांक में [[ऑफसेट बाइनरी]] जोड़ता है जिससे कि कई स्थितियों में नंबर्स की अपेक्षा उसी हार्डवेयर द्वारा सरलता से की जा सके जो हस्ताक्षरित 2-पूरक पूर्णांकों की अपेक्षा करता है। बायस्ड घातांक का उपयोग करते हुए, दो पॉजिटिव फ़्लोटिंग-पॉइंट नंबर्स में से छोटी संख्या चिह्न और परिमाण पूर्णांक के समान क्रम के पश्चात बड़ी संख्या से कम निकलती है। यदि दो फ़्लोटिंग-पॉइंट नंबर्स के भिन्न-भिन्न चिह्न हैं, तो चिह्न-और-परिमाण अपेक्षा बायस्ड घातांक के साथ भी कार्य करती है। चूँकि, यदि दोनों बायस्ड-घातांक फ़्लोटिंग-पॉइंट नंबर्स नेगेटिव हैं, तो क्रम को विपरीत कर दिया जाना चाहिए। यदि घातांक को, मान लीजिए, 2-पूरक संख्या के रूप में प्रदर्शित किया जाता है, तो यह देखने के लिए अपेक्षा करना कि दो नंबर्स में से कौन सी बड़ी है, सुविधाजनक नहीं होता है।
आईईईई 754 एक्सपोनेंट में [[ऑफसेट बाइनरी]] जोड़ता है जिससे कि कई स्टेट्स में नंबर्स की अपेक्षा उसी हार्डवेयर द्वारा सरलता से की जा सके जो साइंड 2-कॉम्प्लीमेंट इंटिजर्स की अपेक्षा करता है। बायस्ड एक्सपोनेंट का उपयोग करते हुए, दो पॉजिटिव फ़्लोटिंग-पॉइंट नंबर्स में से छोटी नंबर चिह्न और परिमाण इंटिजर्स के समान क्रम के पश्चात बड़ी नंबर से कम निकलती है। यदि दो फ़्लोटिंग-पॉइंट नंबर्स के भिन्न-भिन्न चिह्न हैं, तो चिह्न-और-परिमाण अपेक्षा बायस्ड एक्सपोनेंट के साथ भी कार्य करती है। चूँकि, यदि दोनों बायस्ड-एक्सपोनेंट फ़्लोटिंग-पॉइंट नंबर्स नेगेटिव हैं, तो क्रम को विपरीत कर दिया जाना चाहिए। यदि एक्सपोनेंट को, वैल्यू लीजिए, 2-कम्पलीट नंबर के रूप में प्रदर्शित किया जाता है, तो यह देखने के लिए अपेक्षा करना कि दो नंबर्स में से कौन सी बड़ी है, सुविधाजनक नहीं होता है।


अग्रणी 1 बिट को विस्थापित कर दिया गया है क्योंकि शून्य को त्यागकर सभी नंबर्स अग्रणी 1 से प्रारंभ होती हैं; अग्रणी 1 अंतर्निहित है और वास्तव में इसे संग्रहीत करने की आवश्यकता नहीं है जो मुफ़्त में अतिरिक्त एक्यूरेसी प्रदान करता है।
लीडिंग 1 बिट को ओमिटेड कर दिया गया है क्योंकि एक्सपैक्ट शून्य सभी नंबर्स लीडिंग 1 से प्रारंभ होती हैं; लीडिंग 1 इम्प्लीसिट है और वास्तव में इसे स्टोर करने की आवश्यकता नहीं है जो मुफ़्त में अतिरिक्त एक्यूरेसी प्रदान करता है।


=== शून्य ===
=== शून्य ===


शून्य संख्या को विशेष रूप से प्रदर्शित किया गया है:
शून्य नंबर को विशेष रूप से प्रदर्शित किया गया है:


: पॉजिटिव शून्य के लिए चिह्न = 0, नेगेटिव शून्य के लिए 1 है।
: पॉजिटिव शून्य के लिए चिह्न = 0, नेगेटिव शून्य के लिए 1 है।
: बायस्ड घातांक = 0 है।
: बायस्ड एक्सपोनेंट = 0 है।
: अपूर्णांक = 0 है।
: फ्रैक्शन = 0 है।


=== असामान्यीकृत नंबर्स ===
=== डिनॉर्मल नंबर्स ===


ऊपर वर्णित संख्या निरूपण को सामान्यीकृत कहा जाता है, जिसका अर्थ है कि अंतर्निहित अग्रणी बाइनरी अंक 1 है। अंडरफ्लो होने पर एक्यूरेसी की हानि को कम करने के लिए, आईईईई 754 में सामान्यीकृत रिप्रेजेंट में संभव से छोटे अंशों का रिप्रेजेंट करने की क्षमता सम्मिलित है। अंतर्निहित अग्रणी अंक 0 बनाता है। ऐसी नंबर्स को असामान्य नंबर्स कहा जाता है। उनमें सामान्यीकृत संख्या के रूप में कई [[महत्वपूर्ण अंक]] सम्मिलित नहीं होते हैं, किन्तु जब किसी ऑपरेशन का परिणाम शून्य नहीं होता है, किन्तु सामान्यीकृत संख्या द्वारा प्रदर्शित किये जाने के लिए शून्य के अधिक निकट होता है, तो वे एक्यूरेसी की क्रमिक हानि को सक्षम करते हैं।
ऊपर वर्णित नंबर रिप्रजेंटेशन को नॉर्मेलाइज़ कहा जाता है, जिसका अर्थ है कि इम्प्लीसिट लीडिंग बाइनरी अंक 1 है। अंडरफ्लो होने पर एक्यूरेसी की हानि को कम करने के लिए, आईईईई 754 में नॉर्मेलाइज़ रिप्रजेंटेशन में संभव से छोटे अंशों का रिप्रजेंटेशन करने की क्षमता सम्मिलित है। इम्प्लीसिट लीडिंग अंक 0 बनाता है। ऐसी नंबर्स को असामान्य नंबर्स कहा जाता है। उनमें नॉर्मेलाइज़ नंबर के रूप में कई [[महत्वपूर्ण अंक|सिग्नीफिकेंट डिजिट]] सम्मिलित नहीं होते हैं, किन्तु जब किसी ऑपरेशन का रिजल्ट शून्य नहीं होता है, किन्तु नॉर्मेलाइज़ नंबर द्वारा प्रदर्शित किये जाने के लिए शून्य के अधिक निकट होता है, तो वे एक्यूरेसी की क्रमिक हानि को सक्षम करते हैं।


असामान्य संख्या को सभी 0 बिट्स के बायस्ड घातांक के साथ प्रदर्शित किया जाता है, जो सिंगल एक्यूरेसी में −126 के घातांक का रिप्रेजेंट करता है (−127 नहीं), या दोहरी एक्यूरेसी में −1022 (−1023 नहीं) का रिप्रेजेंट करता है।<ref>{{cite book|last=Hennessy|title=कंप्यूटर संगठन और डिज़ाइन|year=2009|url=https://archive.org/details/computerorganiza00patt_779|url-access=limited|publisher=Morgan Kaufmann|page=[https://archive.org/details/computerorganiza00patt_779/page/n291 270]|isbn=9780123744937 }}</ref> इसके विपरीत,  सामान्य संख्या का रिप्रेजेंट करने वाला सबसे छोटा बायस्ड घातांक 1 है (नीचे उदाहरण देखें)।
असामान्य नंबर को सभी 0 बिट्स के बायस्ड एक्सपोनेंट के साथ प्रदर्शित किया जाता है, जो सिंगल एक्यूरेसी में −126 के एक्सपोनेंट का रिप्रजेंटेशन करता है (−127 नहीं), या डबल एक्यूरेसी में −1022 (−1023 नहीं) का रिप्रजेंटेशन करता है।<ref>{{cite book|last=Hennessy|title=कंप्यूटर संगठन और डिज़ाइन|year=2009|url=https://archive.org/details/computerorganiza00patt_779|url-access=limited|publisher=Morgan Kaufmann|page=[https://archive.org/details/computerorganiza00patt_779/page/n291 270]|isbn=9780123744937 }}</ref> इसके विपरीत,  नार्मल नंबर का रिप्रजेंटेशन करने वाला सबसे छोटा बायस्ड एक्सपोनेंट 1 है (नीचे उदाहरण देखें)।


==गैर-नंबर्स का रिप्रेजेंट ==
==नॉन-नंबर्स का रिप्रजेंटेशन ==


किसी कैलकुलेशन की अनंतता या अमान्य परिणाम को प्रदर्शित करने के लिए बायस्ड-घातांक क्षेत्र सभी 1 बिट्स से पूर्ण है।
किसी कैलकुलेशन की इन्फिनिटी या इनवैलिड रिजल्ट को प्रदर्शित करने के लिए बायस्ड-एक्सपोनेंट फील्ड सभी 1 बिट्स से कम्पलीट है।


=== पॉजिटिव और नेगेटिव इनफाइनाइट ===
=== पॉजिटिव और नेगेटिव इनफाइनाइट ===
Line 67: Line 67:


: पॉजिटिव इनफाइनाइट के लिए चिह्न = 0, नेगेटिव इनफाइनाइट के लिए 1 है।
: पॉजिटिव इनफाइनाइट के लिए चिह्न = 0, नेगेटिव इनफाइनाइट के लिए 1 है।
: बायस्ड घातांक = सभी 1 बिट्स है।
: बायस्ड एक्सपोनेंट = सभी 1 बिट्स है।
: अपूर्णांक = सभी 0 बिट्स है।
: फ्रैक्शन = सभी 0 बिट्स है।


=== NaN ===
=== NaN ===


फ़्लोटिंग-पॉइंट अंकगणित के कुछ ऑपरेशन अमान्य हैं, जैसे नेगेटिव संख्या का वर्गमूल लेता है। किसी अमान्य परिणाम तक पहुंचने की क्रिया को फ़्लोटिंग-पॉइंट अपवाद कहा जाता है। असाधारण परिणाम को "नॉट ए नंबर" के लिए NaN नामक विशेष कोड द्वारा प्रदर्शित किया जाता है। आईईईई 754-1985 में सभी NaN का प्रारूप यह है:
फ़्लोटिंग-पॉइंट अंकगणित के कुछ ऑपरेशन इनवैलिड हैं, जैसे नेगेटिव नंबर का वर्गमूल लेता है। किसी इनवैलिड रिजल्ट तक पहुंचने की क्रिया को फ़्लोटिंग-पॉइंट अपवाद कहा जाता है। असाधारण रिजल्ट को "नॉट ए नंबर" के लिए NaN नामक विशेष कोड द्वारा प्रदर्शित किया जाता है। आईईईई 754-1985 में सभी NaN का फॉर्मेट यह है:


: चिह्न = या तो 0 या 1 होता है।
: चिह्न = या तो 0 या 1 होता है।
: बायस्ड घातांक = सभी 1 बिट्स है।
: बायस्ड एक्सपोनेंट = सभी 1 बिट्स है।
: अपूर्णांक = सभी 0 बिट्स को त्यागकर कुछ भी होता है (क्योंकि सभी 0 बिट्स इनफाइनाइट का रिप्रेजेंट करते हैं)।
: फ्रैक्शन = सभी 0 बिट्स को त्यागकर कुछ भी होता है (क्योंकि सभी 0 बिट्स इनफाइनाइट का रिप्रजेंटेशन करते हैं)।


== श्रेणी और एक्यूरेसी ==
== सीरीज और एक्यूरेसी ==
[[File:IEEE 754 relative precision.svg|thumb|महत्वपूर्ण अंकों की निश्चित संख्या का उपयोग करके दशमलव रिप्रेजेंट की अपेक्षा में सिंगल (बाइनरी 32) और डबल त्रुटिहीन (बाइनरी 64) नंबर्स की सापेक्ष एक्यूरेसी है। सापेक्ष एक्यूरेसी को यहां ulp(x)/x के रूप में परिभाषित किया गया है, जहां ulp(x) x के रिप्रेजेंट में [[अंतिम स्थान पर इकाई]] है, अर्थात  x और अगले रिप्रेजेंट योग्य संख्या के मध्य का अंतर है।]]एक्यूरेसी को दो क्रमिक मंटिसा अभ्यावेदन के मध्य न्यूनतम अंतर के रूप में परिभाषित किया गया है; इस प्रकार यह केवल मंटिसा में फंक्शन है; जबकि अंतर को दो क्रमिक नंबर्स के मध्य के अंतर के रूप में परिभाषित किया गया है।<ref>{{citation |title=Computer Arithmetic |author1=Hossam A. H. Fahmy |author2=Shlomo Waser |author3=Michael J. Flynn |url=http://arith.stanford.edu/~hfahmy/webpages/arith_class/arith.pdf |access-date=2011-01-02 |url-status=dead |archive-url=https://web.archive.org/web/20101008203307/http://arith.stanford.edu/~hfahmy/webpages/arith_class/arith.pdf |archive-date=2010-10-08}}</ref>
[[File:IEEE 754 relative precision.svg|thumb|महत्वपूर्ण अंकों की निश्चित नंबर का उपयोग करके दशमलव रिप्रजेंटेशन की अपेक्षा में सिंगल (बाइनरी 32) और डबल एक्यूरेसी (बाइनरी 64) नंबर्स की सापेक्ष एक्यूरेसी है। सापेक्ष एक्यूरेसी को यहां ulp(x)/x के रूप में परिभाषित किया गया है, जहां ulp(x) x के रिप्रजेंटेशन में [[अंतिम स्थान पर इकाई]] है, अर्थात  x और अगले रिप्रजेंटेशन योग्य नंबर के मध्य का अंतर है।]]एक्यूरेसी को दो क्रमिक मंटिसा रिप्रजेंटेशन के मध्य न्यूनतम अंतर के रूप में परिभाषित किया गया है; इस प्रकार यह केवल मंटिसा में फंक्शन है; यद्यपि अंतर को दो क्रमिक नंबर्स के मध्य के अंतर के रूप में परिभाषित किया गया है।<ref>{{citation |title=Computer Arithmetic |author1=Hossam A. H. Fahmy |author2=Shlomo Waser |author3=Michael J. Flynn |url=http://arith.stanford.edu/~hfahmy/webpages/arith_class/arith.pdf |access-date=2011-01-02 |url-status=dead |archive-url=https://web.archive.org/web/20101008203307/http://arith.stanford.edu/~hfahmy/webpages/arith_class/arith.pdf |archive-date=2010-10-08}}</ref>


[[एकल परिशुद्धता|'''सिंगल एक्यूरेसी''']]  
[[एकल परिशुद्धता|'''सिंगल एक्यूरेसी''']]  


सिंगल-त्रुटिहीन नंबर्स 32 बिट्स पर व्याप्त हैं। सिंगल एक्यूरेसी में:
सिंगल-एक्यूरेसी नंबर्स 32 बिट्स पर व्याप्त हैं। सिंगल एक्यूरेसी में:
* शून्य के निकटतम पॉजिटिव और नेगेटिव नंबर्स (घातक क्षेत्र में सभी 0 के साथ असामान्य मान और अपूर्णांक क्षेत्र में बाइनरी मान 1 द्वारा प्रदर्शित की जाती हैं) हैं:
* शून्य के निकटतम पॉजिटिव और नेगेटिव नंबर्स (घातक फील्ड में सभी 0 के साथ असामान्य वैल्यू और फ्रैक्शन फील्ड में बाइनरी वैल्यू 1 द्वारा प्रदर्शित की जाती हैं) हैं:
*: ±2<sup>−23</sup>×2<sup>−126</sup> ≈ ±1.40130{{e|−45}}
*: ±2<sup>−23</sup>×2<sup>−126</sup> ≈ ±1.40130{{e|−45}}
* शून्य के निकटतम पॉजिटिव और नेगेटिव सामान्यीकृत नंबर्स (घातक क्षेत्र में बाइनरी मान 1 और अपूर्णांक क्षेत्र में 0 के साथ प्रदर्शित की जाती हैं) हैं:
* शून्य के निकटतम पॉजिटिव और नेगेटिव नॉर्मेलाइज़ नंबर्स (घातक फील्ड में बाइनरी वैल्यू 1 और फ्रैक्शन फील्ड में 0 के साथ प्रदर्शित की जाती हैं) हैं:
*: ±1 × 2<sup>−126</sup> ≈ ±1.17549{{e|−38}}
*: ±1 × 2<sup>−126</sup> ≈ ±1.17549{{e|−38}}
* शून्य से सबसे दूर की परिमित पॉजिटिव और परिमित नेगेटिव नंबर्स (घातक क्षेत्र में 254 और अपूर्णांक क्षेत्र में सभी 1 के साथ मान द्वारा प्रदर्शित की गई) हैं:
* शून्य से सबसे दूर की परिमित पॉजिटिव और परिमित नेगेटिव नंबर्स (घातक फील्ड में 254 और फ्रैक्शन फील्ड में सभी 1 के साथ वैल्यू द्वारा प्रदर्शित की गई) हैं:
*: ±(2−2<sup>−23</sup>) × 2<sup>127</sup><ref name="Kahan">{{Cite document
*: ±(2−2<sup>−23</sup>) × 2<sup>127</sup><ref name="Kahan">{{Cite document
   | author = William Kahan |author-link=William Kahan
   | author = William Kahan |author-link=William Kahan
Line 97: Line 97:
   | access-date = 2007-04-12 }}</ref> ≈ ±3.40282{{e|38}}
   | access-date = 2007-04-12 }}</ref> ≈ ±3.40282{{e|38}}


सिंगल एक्यूरेसी में दिए गए घातांक के लिए कुछ उदाहरण सीमा और अंतराल मान है:
सिंगल एक्यूरेसी में दिए गए एक्सपोनेंट के लिए कुछ उदाहरण सीमा और अंतराल वैल्यू है:


{| class="wikitable" style="text-align:right;"
{| class="wikitable" style="text-align:right;"
|- style="text-align:center;"
|- style="text-align:center;"
! वास्तविक घातांक (अनबायस्ड)
! रियल एक्सपोनेंट (अनबायस्ड)
! घातांक (बायस्ड)
! एक्सपोनेंट (बायस्ड)
! न्यूनतम
! न्यूनतम
! अधिकतम
! अधिकतम
Line 161: Line 161:
| ≈ 2.02824e31
| ≈ 2.02824e31
|}
|}
उदाहरण के लिए, 16,777,217 को 32-बिट फ़्लोट के रूप में एन्कोड नहीं किया जा सकता क्योंकि इसे 16,777,216 पर पूर्णांकित किया जाएगा। इससे ज्ञात होता है कि फ़्लोटिंग पॉइंट अंकगणित लेखांकन सॉफ़्टवेयर के लिए अनुपयुक्त क्यों है। चूँकि, रिप्रेजेंट योग्य सीमा के अंदर सभी पूर्णांक जो 2 की शक्ति हैं, उन्हें बिना गोलाई के 32-बिट फ़्लोट में संग्रहीत किया जा सकता है।
उदाहरण के लिए, 16,777,217 को 32-बिट फ़्लोट के रूप में एन्कोड नहीं किया जा सकता क्योंकि इसे 16,777,216 पर रौंडिंग किया जाएगा। इससे ज्ञात होता है कि फ़्लोटिंग पॉइंट अंकगणित लेखांकन सॉफ़्टवेयर के लिए अनुपयुक्त क्यों है। चूँकि, रिप्रजेंटेशन योग्य सीमा के अंदर सभी इंटिजर्स जो 2 की पावर हैं, उन्हें बिना गोलाई के 32-बिट फ़्लोट में स्टोर किया जा सकता है।


=== दोहरी एक्यूरेसी ===
=== डबल एक्यूरेसी ===


डबल-त्रुटिहीन नंबर्स 64 बिट्स पर व्याप्त हैं। दोहरी एक्यूरेसी में:
डबल-एक्यूरेसी नंबर्स 64 बिट्स पर व्याप्त हैं। डबल एक्यूरेसी में:
* शून्य के निकटतम पॉजिटिव और नेगेटिव नंबर्स (एक्सप क्षेत्र में सभी 0 के साथ असामान्य मान और अपूर्णांक क्षेत्र में बाइनरी मान 1 द्वारा प्रदर्शित की जाती हैं) हैं
* शून्य के निकटतम पॉजिटिव और नेगेटिव नंबर्स (एक्सप फील्ड में सभी 0 के साथ असामान्य वैल्यू और फ्रैक्शन फील्ड में बाइनरी वैल्यू 1 द्वारा प्रदर्शित की जाती हैं) हैं
*: ±2<sup>−52</sup>×2<sup>−1022</sup> ≈ ±4.94066{{e|−324}}
*: ±2<sup>−52</sup>×2<sup>−1022</sup> ≈ ±4.94066{{e|−324}}
* शून्य के निकटतम पॉजिटिव और नेगेटिव सामान्यीकृत नंबर्स (एक्सप क्षेत्र में बाइनरी मान 1 और अपूर्णांक क्षेत्र में 0 के साथ प्रदर्शित की जाती हैं) हैं:
* शून्य के निकटतम पॉजिटिव और नेगेटिव नॉर्मेलाइज़ नंबर्स (एक्सप फील्ड में बाइनरी वैल्यू 1 और फ्रैक्शन फील्ड में 0 के साथ प्रदर्शित की जाती हैं) हैं:
*: ±1 × 2<sup>−1022</sup> ≈ ±2.22507{{e|−308}}
*: ±1 × 2<sup>−1022</sup> ≈ ±2.22507{{e|−308}}
* शून्य से सबसे दूर की परिमित पॉजिटिव और परिमित नेगेटिव नंबर्स (एक्सप क्षेत्र में 2046 और अपूर्णांक क्षेत्र में सभी 1 के साथ मान द्वारा प्रदर्शित की गई) हैं:
* शून्य से सबसे दूर की परिमित पॉजिटिव और परिमित नेगेटिव नंबर्स (एक्सप फील्ड में 2046 और फ्रैक्शन फील्ड में सभी 1 के साथ वैल्यू द्वारा प्रदर्शित की गई) हैं:
*: ±(2−2<sup>−52</sup>)×2<sup>1023</sup><ref name="Kahan" />≈ ±1.79769{{e|308}}
*: ±(2−2<sup>−52</sup>)×2<sup>1023</sup><ref name="Kahan" />≈ ±1.79769{{e|308}}


दोहरी एक्यूरेसी में दिए गए घातांक के लिए कुछ उदाहरण सीमा और अंतराल मान है:
डबल एक्यूरेसी में दिए गए एक्सपोनेंट के लिए कुछ उदाहरण रेंज और गैप वैल्यू है:


{| class="wikitable" style="text-align:right;"
{| class="wikitable" style="text-align:right;"
|- style="text-align:center;"
|- style="text-align:center;"
! वास्तविक घातांक (अनबायस्ड)
! रियल एक्सपोनेंट (अनबायस्ड)
! घातांक (बायस्ड)
! एक्सपोनेंट (बायस्ड)
! न्यूनतम
! न्यूनतम
! अधिकतम
! अधिकतम
Line 238: Line 238:
|}
|}


'''विस्तारित प्रारूप'''
'''एक्सटेंडेड फॉर्मेट'''


स्टैण्डर्ड राउंड-ऑफ त्रुटियों को कम करने के लिए, अंतिम परिणाम के लिए आवश्यक उच्च एक्यूरेसी पर आंतरिक कैलकुलेशन करने के लिए विस्तारित प्रारूप का उपयोग करने का अनुरोध करता है: स्टैण्डर्ड केवल ऐसे प्रारूपों के लिए न्यूनतम एक्यूरेसी और घातांक आवश्यकताओं को निर्दिष्ट करता है। [[x87]] 80-बिट विस्तारित प्रारूप सबसे अधिक कार्यान्वित विस्तारित प्रारूप है जो इन आवश्यकताओं को पूर्ण करता है।
स्टैण्डर्ड राउंड-ऑफ एरर को कम करने के लिए, अंतिम रिजल्ट के लिए आवश्यक उच्च एक्यूरेसी पर आंतरिक कैलकुलेशन करने के लिए एक्सटेंडेड फॉर्मेट का उपयोग करने का अनुरोध करता है: स्टैण्डर्ड केवल ऐसे प्रारूपों के लिए न्यूनतम एक्यूरेसी और एक्सपोनेंट आवश्यकताओं को निर्दिष्ट करता है। [[x87]] 80-बिट एक्सटेंडेड फॉर्मेट सबसे अधिक कार्यान्वित एक्सटेंडेड फॉर्मेट है जो इन आवश्यकताओं को कम्पलीट करता है।


== उदाहरण ==
== उदाहरण ==


यहां सिंगल-त्रुटिहीन आईईईई 754 अभ्यावेदन के कुछ उदाहरण दिए गए हैं:
यहां सिंगल-एक्यूरेसी आईईईई 754 रिप्रजेंटेशन के कुछ उदाहरण दिए गए हैं:


{| class="wikitable"
{| class="wikitable"
Line 250: Line 250:
! प्रकार
! प्रकार
! चिह्न
! चिह्न
! वास्तविक घातांक
! रियल एक्सपोनेंट
! घातांक (बायस्ड)
! एक्सपोनेंट (बायस्ड)
! घातांक क्षेत्र
! एक्सपोनेंट फील्ड
! अपूर्णांक क्षेत्र
! फ्रैक्शन फील्ड
! मान
! वैल्यू
|-
|-
| शून्य
| शून्य
Line 288: Line 288:
| &minus;1.0
| &minus;1.0
|-
|-
| सबसे छोटी [[Denormal number|असामान्यीकृत संख्या]]
| सबसे छोटी [[Denormal number|असामान्यीकृत नंबर]]
| style="text-align:center;"| *
| style="text-align:center;"| *
| −126
| −126
Line 296: Line 296:
| ±2<sup>&minus;23</sup> &times; 2<sup>&minus;126</sup> = ±2<sup>&minus;149</sup> ≈ ±1.4{{e|-45}}
| ±2<sup>&minus;23</sup> &times; 2<sup>&minus;126</sup> = ±2<sup>&minus;149</sup> ≈ ±1.4{{e|-45}}
|-
|-
| "मध्य" असामान्यीकृत संख्या
| "मध्य" असामान्यीकृत नंबर
| style="text-align:center;"| *
| style="text-align:center;"| *
| −126
| −126
Line 304: Line 304:
| ±2<sup>&minus;1</sup> &times; 2<sup>&minus;126</sup> = ±2<sup>&minus;127</sup> ≈ ±5.88{{e|-39}}
| ±2<sup>&minus;1</sup> &times; 2<sup>&minus;126</sup> = ±2<sup>&minus;127</sup> ≈ ±5.88{{e|-39}}
|-
|-
| सबसे बड़ी असामान्यीकृत संख्या
| सबसे बड़ी असामान्यीकृत नंबर
| style="text-align:center;"| *