दशमलव64 फ़्लोटिंग-पॉइंट प्रारूप: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{floating-point}} | {{floating-point}} | ||
[[ कम्प्यूटिंग | कम्प्यूटिंग]] में, दशमलव 64 [[दशमलव फ़्लोटिंग-पॉइंट]] [[कंप्यूटर क्रमांकन प्रारूप]] है जो कंप्यूटर मेमोरी में 8 बाइट्स (64 बिट्स) रखता है। | [[ कम्प्यूटिंग |कम्प्यूटिंग]] में, '''दशमलव 64''' '''[[दशमलव फ़्लोटिंग-पॉइंट]] [[कंप्यूटर क्रमांकन प्रारूप]]''' है जो कंप्यूटर मेमोरी में 8 बाइट्स (64 बिट्स) रखता है। यह उन अनुप्रयोगों के लिए है जहां वित्तीय और कर गणना जैसे दशमलव पूर्णांक का अनुकरण करना आवश्यक है। | ||
यह उन अनुप्रयोगों के लिए है जहां दशमलव पूर्णांक का | |||
दशमलव64 | दशमलव64 महत्वपूर्ण के 16 [[दशमलव अंक]] और −383 से +384 की घातांक सीमा का समर्थन करता है, अर्थात {{gaps|±0.000|000|000|000|000|e=-383}} से {{gaps|±9.999|999|999|999|999|e=384}}। (सामान्यतः,{{gaps|±0|000|000|000|000|000|e=-398}} से {{gaps|±9|999|999|999|999|999|e=369}}।) इसके विपरीत, संबंधित बाइनरी प्रारूप, जो सबसे अधिक उपयोग किया जाने वाला प्रकार है, जिसकी अनुमानित सीमा {{gaps|±0.000|000|000|000|001|e=-308}} से {{gaps|±1.797|693|134|862|315|e=308}} है क्योंकि महत्वपूर्ण सामान्यीकृत नहीं है, 16 से कम [[महत्वपूर्ण अंक]] वाले अधिकांश मूल्यों में कई संभावित प्रतिनिधित्व होते हैं; {{gaps|1 × 10<sup>2</sup>|{{=}}|0.1 × 10<sup>3</sup>|{{=}}|0.01 × 10<sup>4</sup>}}, आदि। शून्य में 768 संभावित प्रतिनिधित्व हैं (1536 यदि दोनों हस्ताक्षरित शून्य सम्मिलित हैं)। | ||
दशमलव64 फ़्लोटिंग पॉइंट एक अपेक्षाकृत नया दशमलव फ़्लोटिंग-पॉइंट प्रारूप है, जिसे औपचारिक रूप से [[आईईईई 754-2008]] संस्करण <ref name="IEEE-754_2008">{{cite book |title=फ़्लोटिंग-पॉइंट अंकगणित के लिए आईईईई मानक|author=IEEE Computer Society |date=2008-08-29 |publisher=[[IEEE]] |id=IEEE Std 754-2008 |doi=10.1109/IEEESTD.2008.4610935 |ref=CITEREFIEEE_7542008 |isbn=978-0-7381-5753-5 |url=http://ieeexplore.ieee.org/servlet/opac?punumber=4610933 |access-date=2016-02-08}}</ref> [[आईईईई 754]] के साथ-साथ आईएसओ/आईईसी/आईईईई 60559:2011 में प्रस्तुत किया गया है।<ref name="ISO-60559_2011">{{cite journal |title=आईएसओ/आईईसी/आईईईई 60559:2011|url=http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57469 |date=2011 |access-date=2016-02-08}}</ref> | |||
== दशमलव64 मानों का निरूपण == | == दशमलव64 मानों का निरूपण == | ||
Line 12: | Line 11: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! संकेत !! संयोजन !! घातांक निरंतरता !! महत्वपूर्ण निरंतरता | ||
|- | |- | ||
! 1 bit !! 5 bits !! 8 bits !! 50 bits | ! 1 bit !! 5 bits !! 8 bits !! 50 bits | ||
Line 20: | Line 19: | ||
आईईईई 754 दशमलव64 मानों के लिए दो वैकल्पिक प्रतिनिधित्व विधियों की अनुमति देता है। मानक यह निर्दिष्ट नहीं करता है कि यह कैसे दर्शाया जाए कि किस प्रतिनिधित्व का उपयोग किया जाता है, उदाहरण के लिए ऐसी स्थिति में जहां दशमलव 64 मान सिस्टम के बीच संप्रेषित होते हैं: | आईईईई 754 दशमलव64 मानों के लिए दो वैकल्पिक प्रतिनिधित्व विधियों की अनुमति देता है। मानक यह निर्दिष्ट नहीं करता है कि यह कैसे दर्शाया जाए कि किस प्रतिनिधित्व का उपयोग किया जाता है, उदाहरण के लिए ऐसी स्थिति में जहां दशमलव 64 मान सिस्टम के बीच संप्रेषित होते हैं: | ||
* | * बाइनरी पूर्णांक महत्वपूर्ण क्षेत्र में, 16-अंकीय महत्वपूर्ण को बाइनरी पूर्णांक दशमलव (बीआईडी) के आधार पर बाइनरी कोडित धनात्मक पूर्णांक के रूप में दर्शाया जाता है। | ||
* | * सघन रूप से पैक किए गए दशमलव महत्वपूर्ण क्षेत्र में, 16-अंकीय महत्वपूर्ण को दशमलव कोडित धनात्मक पूर्णांक के रूप में दर्शाया जाता है, जो सघन रूप से पैक किए गए दशमलव (डीपीडी) पर आधारित होता है, जिसमें 3 अंकों के 5 समूह होते हैं (विशेष रूप से एन्कोड किए गए सबसे महत्वपूर्ण अंक को छोड़कर) प्रत्येक को डिकलेट्स (10-बिट अनुक्रम) में दर्शाया जाता है। यह अधिक कुशल है, क्योंकि 2<sup>10</sup> = 1024, 0 से 999 तक की सभी संख्याओं को समाहित करने के लिए आवश्यकता से थोड़ा ही अधिक है। | ||
दोनों विकल्प प्रतिनिधित्व योग्य संख्याओं की बिल्कुल समान श्रेणी प्रदान करते हैं: | दोनों विकल्प प्रतिनिधित्व योग्य संख्याओं की बिल्कुल समान श्रेणी प्रदान करते हैं: महत्वपूर्ण के 16 अंक और {{math|size=100%|1=3 × 2<sup>8</sup> = 768}} संभावित दशमलव घातांक मान ([[बाइनरी64]] संख्या में संग्रहीत सभी संभावित दशमलव घातांक मान दशमलव64 में दर्शाए जा सकते हैं, और बाइनरी64 के महत्वपूर्ण के अधिकांश बिट्स को महत्वपूर्ण में दशमलव अंकों की लगभग समान संख्या रखते हुए संग्रहीत किया जाता है।) | ||
दोनों | दोनों स्थितियों में, महत्वपूर्ण के सबसे महत्वपूर्ण 4 बिट्स (जिनमें वास्तव में केवल 10 संभावित मान हैं) को 5-बिट क्षेत्र के 32 संभावित मानों में से 30 का उपयोग करने के लिए घातांक के सबसे महत्वपूर्ण 2 बिट्स (3 संभावित मान) के साथ जोड़ा जाता है। शेष संयोजन अनन्तता और [[NaN]]s को कूटबद्ध करते हैं। | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! संयोजन क्षेत्र !! प्रतिपादक एमएसबिट्स !! महत्वपूर्ण और एमएसबिट्स !! अन्य | ||
|- | |- | ||
| {{mono|00mmm}} || {{mono|00}} || {{mono|0xxx}} || {{sdash}} | | {{mono|00mmm}} || {{mono|00}} || {{mono|0xxx}} || {{sdash}} | ||
Line 43: | Line 42: | ||
| {{mono|1110m}} || {{mono|10}} || {{mono|100x}} || {{sdash}} | | {{mono|1110m}} || {{mono|10}} || {{mono|100x}} || {{sdash}} | ||
|- | |- | ||
| {{mono|11110}} || {{sdash}} || {{sdash}} || | | {{mono|11110}} || {{sdash}} || {{sdash}} || ±अनन्त | ||
|- | |- | ||
| {{mono|11111}} || {{sdash}} || {{sdash}} | | | {{mono|11111}} || {{sdash}} || {{sdash}} || NaN. साइन बिट को नजरअंदाज कर दिया गया। घातांक निरंतरता क्षेत्र का पहला बिट यह निर्धारित करता है कि NaN सिग्नलिंग कर रहा है या नहीं। | ||
|} | |} | ||
इन्फिनिटी और NaN के | इन्फिनिटी और NaN के स्थितियों में, एन्कोडिंग के अन्य सभी बिट्स को नजरअंदाज कर दिया जाता है। इस प्रकार, किसी सरणी को बाइट मान से भरकर इनफिनिटीज़ या NaNs में प्रारंभ करना संभव है। | ||
=== बाइनरी पूर्णांक | === बाइनरी पूर्णांक महत्वपूर्ण क्षेत्र === | ||
यह प्रारूप 0 से लेकर बाइनरी | यह प्रारूप 0 से लेकर बाइनरी महत्वपूर्ण का उपयोग करता है {{math|size=100%|1=10<sup>16</sup> − 1 = {{gaps|9|999|999|999|999|999}} = 2386F26FC0FFFF<sub>16</sub> = {{gaps|1000|1110000110|1111001001|1011111100|0000111111|1111111111<sub>2</sub>}}.}} | ||
एन्कोडिंग, पूरी तरह से 64 बिट्स पर संग्रहीत, | एन्कोडिंग, पूरी तरह से 64 बिट्स पर संग्रहीत, {{math|size=100%|1=10 × 2<sup>50</sup> − 1 = {{gaps|11|258|999|068|426|239}} = 27FFFFFFFFFFFF<sub>16</sub>,}} तक बाइनरी महत्व का प्रतिनिधित्व कर सकता है, किन्तु {{math|size=100%|1=10<sup>16</sup> − 1}} से बड़े मान अनुचित हैं (और इनपुट पर सामना होने पर मानक को उन्हें 0 के रूप में मानने के लिए कार्यान्वयन की आवश्यकता होती है) ). | ||
जैसा कि ऊपर वर्णित है, एन्कोडिंग इस पर निर्भर करती है कि | जैसा कि ऊपर वर्णित है, एन्कोडिंग इस पर निर्भर करती है कि महत्व के सबसे महत्वपूर्ण 4 बिट्स 0 से 7 (0000<sub>2</sub> से 0111<sub>2</sub>), या उच्चतर (1000<sub>2</sub> या 1001<sub>2</sub>) की सीमा में हैं। | ||
यदि साइन बिट के बाद 2 00, 01 | यदि साइन बिट के बाद के 2 "00", "01" या "10" हैं, तो घातांक फ़ील्ड में साइन बिट के बाद के {{val|10|u=bits}} होते हैं, और महत्व शेष {{val|53|u=bits}} होता है, जिसमें अंतर्निहित {{val|0|u=bit}} होता है : | ||
एस 00ईईईईईईई (0)टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी | एस 00ईईईईईईई (0)टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी | ||
s 01eeeeeeee (0)tttt tttttttttttttttttttttttttttttttttttttt | s 01eeeeeeee (0)tttt tttttttttttttttttttttttttttttttttttttt | ||
एस 10ईईईईईईई (0)टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी | एस 10ईईईईईईई (0)टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी | ||
इसमें [[असामान्य संख्याएँ]] | इसमें [[असामान्य संख्याएँ]] सम्मिलित हैं जहाँ अग्रणी महत्वपूर्ण अंक 0 है। | ||
यदि {{val|2|u=bits}} साइन बिट 11 होने के बाद, 10-बिट एक्सपोनेंट | यदि {{val|2|u=bits}} साइन बिट 11 होने के बाद, 10-बिट एक्सपोनेंट क्षेत्र को स्थानांतरित कर दिया जाता है {{val|2|u=bits}} दाईं ओर (साइन बिट और उसके बाद 11 बिट दोनों के बाद), और दर्शाया गया महत्वपूर्ण शेष में है {{val|51|u=bits}}. इस मामले में वास्तविक महत्वपूर्ण के अधिकांश बिट्स के लिए अंतर्निहित (अर्थात, संग्रहीत नहीं) अग्रणी 3-बिट अनुक्रम 100 है (महत्वपूर्ण के शेष निचले बिट्स ttt...ttt में, सभी संभावित मानों का उपयोग नहीं किया जाता है)। | ||
एस 1100ईईईईईईई (100)टी टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी | एस 1100ईईईईईईई (100)टी टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी | ||
Line 70: | Line 69: | ||
एस 1110ईईईईईईई (100)टी टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी | एस 1110ईईईईईईई (100)टी टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी | ||
साइन बिट के बाद 2-बिट अनुक्रम 11 इंगित करता है कि | साइन बिट के बाद 2-बिट अनुक्रम 11 इंगित करता है कि महत्वपूर्ण के लिए अंतर्निहित 3-बिट उपसर्ग 100 है। बाइनरी प्रारूपों के लिए सामान्य मानों के महत्वपूर्ण में अंतर्निहित 1-बिट उपसर्ग 1 की तुलना करें। साइन बिट के बाद 2-बिट अनुक्रम 00, 01, या 10 घातांक क्षेत्र का हिस्सा हैं। | ||
महत्वपूर्ण क्षेत्र के अग्रणी बिट्स सबसे महत्वपूर्ण दशमलव अंक को एन्कोड नहीं करते हैं; वे बस बड़ी शुद्ध-बाइनरी संख्या का हिस्सा हैं। उदाहरण के लिए, का महत्वपूर्ण {{gaps|8|000|000|000|000|000}} को बाइनरी के रूप में एन्कोड किया गया है {{gaps|0111|0001101011|1111010100|1001100011|0100000000|0000000000}}<sub>2</sub>, अग्रणी के साथ {{val|4|u=bits}} एन्कोडिंग 7; पहला महत्वपूर्ण जिसके लिए 54वें बिट की आवश्यकता है वह है {{math|size=100%|1=2<sup>53</sup> = {{gaps|9|007|199|254|740|992}}.}} उच्चतम वैध सार्थक है {{gaps|9|999|999|999|999|999}}जिसकी बाइनरी एन्कोडिंग है | |||
{{gaps|(100)0|1110000110|1111001001|1011111100|0000111111|1111111111}}<sub>2</sub> (3 सबसे महत्वपूर्ण बिट्स (100) संग्रहीत नहीं हैं | {{gaps|(100)0|1110000110|1111001001|1011111100|0000111111|1111111111}}<sub>2</sub> (3 सबसे महत्वपूर्ण बिट्स (100) संग्रहीत नहीं हैं किन्तु ऊपर दिखाए गए अनुसार अंतर्निहित हैं; और वैध एन्कोडिंग में अगला बिट हमेशा शून्य होता है)। | ||
उपरोक्त | उपरोक्त स्थितियों में, दर्शाया गया मान है | ||
: {{math|1=(−1)<sup>sign</sup> × 10<sup>exponent−398</sup> × significand}} <!-- Remember, significand is defined as an integer: 0 <= significand < 10^16 --> | : {{math|1=(−1)<sup>sign</sup> × 10<sup>exponent−398</sup> × significand}} <!-- Remember, significand is defined as an integer: 0 <= significand < 10^16 --> | ||
Line 84: | Line 83: | ||
s 11111 1x...x सिग्नलिंग NaN | s 11111 1x...x सिग्नलिंग NaN | ||
=== घनीभूत दशमलव | === घनीभूत दशमलव महत्वपूर्ण क्षेत्र === | ||
इस संस्करण में, | इस संस्करण में, महत्वपूर्ण को दशमलव अंकों की श्रृंखला के रूप में संग्रहीत किया जाता है। अग्रणी अंक 0 और 9 (3 या 4 बाइनरी बिट्स) के बीच है, और शेष महत्वपूर्ण सघन रूप से पैक दशमलव (डीपीडी) एन्कोडिंग का उपयोग करता है। | ||
सबसे आगे वाला {{val|2|u=bits}} घातांक और अग्रणी अंक (3 या {{val|4|u=bits}}) | सबसे आगे वाला {{val|2|u=bits}} घातांक और अग्रणी अंक (3 या {{val|4|u=bits}}) महत्वपूर्ण को पांच बिट्स में संयोजित किया जाता है जो साइन बिट का अनुसरण करते हैं। | ||
उसके बाद के आठ बिट्स घातांक निरंतरता क्षेत्र हैं, जो घातांक के कम-महत्वपूर्ण बिट्स प्रदान करते हैं। | उसके बाद के आठ बिट्स घातांक निरंतरता क्षेत्र हैं, जो घातांक के कम-महत्वपूर्ण बिट्स प्रदान करते हैं। | ||
अंतिम {{val|50|u=bits}}महत्वपूर्ण निरंतरता क्षेत्र हैं, जिसमें पांच 10-बिट डिकलेट (कंप्यूटिंग) | अंतिम {{val|50|u=bits}}महत्वपूर्ण निरंतरता क्षेत्र हैं, जिसमें पांच 10-बिट डिकलेट (कंप्यूटिंग) सम्मिलित हैं।<ref name="Muller_2010">{{cite book |author-last1=Muller |author-first1=Jean-Michel |author-last2=Brisebarre |author-first2=Nicolas |author-last3=de Dinechin |author-first3=Florent |author-last4=Jeannerod |author-first4=Claude-Pierre |author-last5=Lefèvre |author-first5=Vincent |author-last6=Melquiond |author-first6=Guillaume |author-last7=Revol |author-first7=Nathalie|author7-link=Nathalie Revol |author-last8=Stehlé |author-first8=Damien |author-last9=Torres |author-first9=Serge |title=फ़्लोटिंग-पॉइंट अंकगणित की पुस्तिका|year=2010 |publisher=[[Birkhäuser]] |edition=1 |isbn=978-0-8176-4704-9<!-- print --> |doi=10.1007/978-0-8176-4705-6 |lccn=2009939668<!-- |isbn=978-0-8176-4705-6 (online), ISBN 0-8176-4704-X (print) -->|url=https://cds.cern.ch/record/1315760 }}</ref> प्रत्येक डिकलेट तीन दशमलव अंकों को कूटबद्ध करता है<ref name="Muller_2010"/>डीपीडी एन्कोडिंग का उपयोग करना। | ||
यदि साइन बिट के बाद पहले दो बिट 00, 01, या 10 हैं, तो वे घातांक के अग्रणी बिट हैं, और उसके बाद के तीन बिट टीटीटी को अग्रणी दशमलव अंक (0 से 7) के रूप में समझा जाता है: | यदि साइन बिट के बाद पहले दो बिट 00, 01, या 10 हैं, तो वे घातांक के अग्रणी बिट हैं, और उसके बाद के तीन बिट टीटीटी को अग्रणी दशमलव अंक (0 से 7) के रूप में समझा जाता है: | ||
Line 105: | Line 104: | ||
एस 1110 टी (10)ईईईईईईईई (100टी)[ट्टट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट] | एस 1110 टी (10)ईईईईईईईई (100टी)[ट्टट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट] | ||
साइन बिट के बाद 5-बिट | साइन बिट के बाद 5-बिट क्षेत्र के शेष दो संयोजन (11 110 और 11 111) का उपयोग क्रमशः ±अनंत और NaN का प्रतिनिधित्व करने के लिए किया जाता है। | ||
डिकलेट्स के लिए DPD/3BCD ट्रांसकोडिंग निम्न तालिका द्वारा दी गई है। b9...b0 DPD के बिट्स हैं, और d2...d0 तीन BCD अंक हैं। | डिकलेट्स के लिए DPD/3BCD ट्रांसकोडिंग निम्न तालिका द्वारा दी गई है। b9...b0 DPD के बिट्स हैं, और d2...d0 तीन BCD अंक हैं। | ||
Line 112: | Line 111: | ||
8 दशमलव मान जिनके सभी अंक 8 या 9 हैं, उनमें से प्रत्येक में चार कोडिंग हैं। | 8 दशमलव मान जिनके सभी अंक 8 या 9 हैं, उनमें से प्रत्येक में चार कोडिंग हैं। | ||
उपरोक्त तालिका में x चिह्नित बिट्स इनपुट पर ध्यान नहीं देते हैं, | उपरोक्त तालिका में x चिह्नित बिट्स इनपुट पर ध्यान नहीं देते हैं, किन्तु गणना किए गए परिणामों में हमेशा 0 होंगे। | ||
( वह {{math|size=100%|1=8 × 3 = 24}} गैर-मानक एन्कोडिंग बीच के अंतर को भरते हैं {{math|size=100%|1=10<sup>3</sup> = 1000 and 2<sup>10</sup> = 1024.}}) | ( वह {{math|size=100%|1=8 × 3 = 24}} गैर-मानक एन्कोडिंग बीच के अंतर को भरते हैं {{math|size=100%|1=10<sup>3</sup> = 1000 and 2<sup>10</sup> = 1024.}}) | ||
उपरोक्त | उपरोक्त स्थितियों में, दशमलव अंकों के डिकोड किए गए अनुक्रम के वास्तविक महत्वपूर्ण के साथ, दर्शाया गया मान है | ||
:<math>(-1)^\text{signbit}\times 10^{\text{exponentbits}_2-398_{10}}\times \text{truesignificand}_{10}</math> | :<math>(-1)^\text{signbit}\times 10^{\text{exponentbits}_2-398_{10}}\times \text{truesignificand}_{10}</math> |
Revision as of 09:21, 30 July 2023
Floating-point formats |
---|
IEEE 754 |
|
Other |
कम्प्यूटिंग में, दशमलव 64 दशमलव फ़्लोटिंग-पॉइंट कंप्यूटर क्रमांकन प्रारूप है जो कंप्यूटर मेमोरी में 8 बाइट्स (64 बिट्स) रखता है। यह उन अनुप्रयोगों के लिए है जहां वित्तीय और कर गणना जैसे दशमलव पूर्णांक का अनुकरण करना आवश्यक है।
दशमलव64 महत्वपूर्ण के 16 दशमलव अंक और −383 से +384 की घातांक सीमा का समर्थन करता है, अर्थात ±0.000000000000000×10 −383 से ±9.999999999999999×10 384। (सामान्यतः,±0000000000000000×10 −398 से ±9999999999999999×10 369।) इसके विपरीत, संबंधित बाइनरी प्रारूप, जो सबसे अधिक उपयोग किया जाने वाला प्रकार है, जिसकी अनुमानित सीमा ±0.000000000000001×10 −308 से ±1.797693134862315×10 308 है क्योंकि महत्वपूर्ण सामान्यीकृत नहीं है, 16 से कम महत्वपूर्ण अंक वाले अधिकांश मूल्यों में कई संभावित प्रतिनिधित्व होते हैं; 1 × 102=0.1 × 103=0.01 × 104, आदि। शून्य में 768 संभावित प्रतिनिधित्व हैं (1536 यदि दोनों हस्ताक्षरित शून्य सम्मिलित हैं)।
दशमलव64 फ़्लोटिंग पॉइंट एक अपेक्षाकृत नया दशमलव फ़्लोटिंग-पॉइंट प्रारूप है, जिसे औपचारिक रूप से आईईईई 754-2008 संस्करण [1] आईईईई 754 के साथ-साथ आईएसओ/आईईसी/आईईईई 60559:2011 में प्रस्तुत किया गया है।[2]
दशमलव64 मानों का निरूपण
संकेत | संयोजन | घातांक निरंतरता | महत्वपूर्ण निरंतरता |
---|---|---|---|
1 bit | 5 bits | 8 bits | 50 bits |
s | mmmmm | xxxxxxxx | cccccccccccccccccccccccccccccccccccccccccccccccccc |
आईईईई 754 दशमलव64 मानों के लिए दो वैकल्पिक प्रतिनिधित्व विधियों की अनुमति देता है। मानक यह निर्दिष्ट नहीं करता है कि यह कैसे दर्शाया जाए कि किस प्रतिनिधित्व का उपयोग किया जाता है, उदाहरण के लिए ऐसी स्थिति में जहां दशमलव 64 मान सिस्टम के बीच संप्रेषित होते हैं:
- बाइनरी पूर्णांक महत्वपूर्ण क्षेत्र में, 16-अंकीय महत्वपूर्ण को बाइनरी पूर्णांक दशमलव (बीआईडी) के आधार पर बाइनरी कोडित धनात्मक पूर्णांक के रूप में दर्शाया जाता है।
- सघन रूप से पैक किए गए दशमलव महत्वपूर्ण क्षेत्र में, 16-अंकीय महत्वपूर्ण को दशमलव कोडित धनात्मक पूर्णांक के रूप में दर्शाया जाता है, जो सघन रूप से पैक किए गए दशमलव (डीपीडी) पर आधारित होता है, जिसमें 3 अंकों के 5 समूह होते हैं (विशेष रूप से एन्कोड किए गए सबसे महत्वपूर्ण अंक को छोड़कर) प्रत्येक को डिकलेट्स (10-बिट अनुक्रम) में दर्शाया जाता है। यह अधिक कुशल है, क्योंकि 210 = 1024, 0 से 999 तक की सभी संख्याओं को समाहित करने के लिए आवश्यकता से थोड़ा ही अधिक है।
दोनों विकल्प प्रतिनिधित्व योग्य संख्याओं की बिल्कुल समान श्रेणी प्रदान करते हैं: महत्वपूर्ण के 16 अंक और 3 × 28 = 768 संभावित दशमलव घातांक मान (बाइनरी64 संख्या में संग्रहीत सभी संभावित दशमलव घातांक मान दशमलव64 में दर्शाए जा सकते हैं, और बाइनरी64 के महत्वपूर्ण के अधिकांश बिट्स को महत्वपूर्ण में दशमलव अंकों की लगभग समान संख्या रखते हुए संग्रहीत किया जाता है।)
दोनों स्थितियों में, महत्वपूर्ण के सबसे महत्वपूर्ण 4 बिट्स (जिनमें वास्तव में केवल 10 संभावित मान हैं) को 5-बिट क्षेत्र के 32 संभावित मानों में से 30 का उपयोग करने के लिए घातांक के सबसे महत्वपूर्ण 2 बिट्स (3 संभावित मान) के साथ जोड़ा जाता है। शेष संयोजन अनन्तता और NaNs को कूटबद्ध करते हैं।
संयोजन क्षेत्र | प्रतिपादक एमएसबिट्स | महत्वपूर्ण और एमएसबिट्स | अन्य |
---|---|---|---|
00mmm | 00 | 0xxx | — |
01mmm | 01 | 0xxx | — |
10mmm | 10 | 0xxx | — |
1100m | 00 | 100x | — |
1101m | 01 | 100x | — |
1110m | 10 | 100x | — |
11110 | — | — | ±अनन्त |
11111 | — | — | NaN. साइन बिट को नजरअंदाज कर दिया गया। घातांक निरंतरता क्षेत्र का पहला बिट यह निर्धारित करता है कि NaN सिग्नलिंग कर रहा है या नहीं। |
इन्फिनिटी और NaN के स्थितियों में, एन्कोडिंग के अन्य सभी बिट्स को नजरअंदाज कर दिया जाता है। इस प्रकार, किसी सरणी को बाइट मान से भरकर इनफिनिटीज़ या NaNs में प्रारंभ करना संभव है।
बाइनरी पूर्णांक महत्वपूर्ण क्षेत्र
यह प्रारूप 0 से लेकर बाइनरी महत्वपूर्ण का उपयोग करता है 1016 − 1 = 9999999999999999 = 2386F26FC0FFFF16 = 1000111000011011110010011011111100000011111111111111112.
एन्कोडिंग, पूरी तरह से 64 बिट्स पर संग्रहीत, 10 × 250 − 1 = 11258999068426239 = 27FFFFFFFFFFFF16, तक बाइनरी महत्व का प्रतिनिधित्व कर सकता है, किन्तु 1016 − 1 से बड़े मान अनुचित हैं (और इनपुट पर सामना होने पर मानक को उन्हें 0 के रूप में मानने के लिए कार्यान्वयन की आवश्यकता होती है) ).
जैसा कि ऊपर वर्णित है, एन्कोडिंग इस पर निर्भर करती है कि महत्व के सबसे महत्वपूर्ण 4 बिट्स 0 से 7 (00002 से 01112), या उच्चतर (10002 या 10012) की सीमा में हैं।
यदि साइन बिट के बाद के 2 "00", "01" या "10" हैं, तो घातांक फ़ील्ड में साइन बिट के बाद के 10 bits होते हैं, और महत्व शेष 53 bits होता है, जिसमें अंतर्निहित 0 bit होता है :
एस 00ईईईईईईई (0)टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी s 01eeeeeeee (0)tttt tttttttttttttttttttttttttttttttttttttt एस 10ईईईईईईई (0)टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी
इसमें असामान्य संख्याएँ सम्मिलित हैं जहाँ अग्रणी महत्वपूर्ण अंक 0 है।
यदि 2 bits साइन बिट 11 होने के बाद, 10-बिट एक्सपोनेंट क्षेत्र को स्थानांतरित कर दिया जाता है 2 bits दाईं ओर (साइन बिट और उसके बाद 11 बिट दोनों के बाद), और दर्शाया गया महत्वपूर्ण शेष में है 51 bits. इस मामले में वास्तविक महत्वपूर्ण के अधिकांश बिट्स के लिए अंतर्निहित (अर्थात, संग्रहीत नहीं) अग्रणी 3-बिट अनुक्रम 100 है (महत्वपूर्ण के शेष निचले बिट्स ttt...ttt में, सभी संभावित मानों का उपयोग नहीं किया जाता है)।
एस 1100ईईईईईईई (100)टी टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी एस 1101ईईईईईईईई (100)टी टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी एस 1110ईईईईईईई (100)टी टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी
साइन बिट के बाद 2-बिट अनुक्रम 11 इंगित करता है कि महत्वपूर्ण के लिए अंतर्निहित 3-बिट उपसर्ग 100 है। बाइनरी प्रारूपों के लिए सामान्य मानों के महत्वपूर्ण में अंतर्निहित 1-बिट उपसर्ग 1 की तुलना करें। साइन बिट के बाद 2-बिट अनुक्रम 00, 01, या 10 घातांक क्षेत्र का हिस्सा हैं।
महत्वपूर्ण क्षेत्र के अग्रणी बिट्स सबसे महत्वपूर्ण दशमलव अंक को एन्कोड नहीं करते हैं; वे बस बड़ी शुद्ध-बाइनरी संख्या का हिस्सा हैं। उदाहरण के लिए, का महत्वपूर्ण 8000000000000000 को बाइनरी के रूप में एन्कोड किया गया है 0111000110101111110101001001100011010000000000000000002, अग्रणी के साथ 4 bits एन्कोडिंग 7; पहला महत्वपूर्ण जिसके लिए 54वें बिट की आवश्यकता है वह है 253 = 9007199254740992. उच्चतम वैध सार्थक है 9999999999999999जिसकी बाइनरी एन्कोडिंग है (100)0111000011011110010011011111100000011111111111111112 (3 सबसे महत्वपूर्ण बिट्स (100) संग्रहीत नहीं हैं किन्तु ऊपर दिखाए गए अनुसार अंतर्निहित हैं; और वैध एन्कोडिंग में अगला बिट हमेशा शून्य होता है)।
उपरोक्त स्थितियों में, दर्शाया गया मान है
- (−1)sign × 10exponent−398 × significand
यदि साइन बिट के बाद के चार बिट 1111 हैं तो मान अनंत या NaN है, जैसा कि ऊपर वर्णित है:
s 11110 xx...x ±अनंत s 11111 0x...x शांत NaN s 11111 1x...x सिग्नलिंग NaN
घनीभूत दशमलव महत्वपूर्ण क्षेत्र
इस संस्करण में, महत्वपूर्ण को दशमलव अंकों की श्रृंखला के रूप में संग्रहीत किया जाता है। अग्रणी अंक 0 और 9 (3 या 4 बाइनरी बिट्स) के बीच है, और शेष महत्वपूर्ण सघन रूप से पैक दशमलव (डीपीडी) एन्कोडिंग का उपयोग करता है।
सबसे आगे वाला 2 bits घातांक और अग्रणी अंक (3 या 4 bits) महत्वपूर्ण को पांच बिट्स में संयोजित किया जाता है जो साइन बिट का अनुसरण करते हैं।
उसके बाद के आठ बिट्स घातांक निरंतरता क्षेत्र हैं, जो घातांक के कम-महत्वपूर्ण बिट्स प्रदान करते हैं।
अंतिम 50 bitsमहत्वपूर्ण निरंतरता क्षेत्र हैं, जिसमें पांच 10-बिट डिकलेट (कंप्यूटिंग) सम्मिलित हैं।[3] प्रत्येक डिकलेट तीन दशमलव अंकों को कूटबद्ध करता है[3]डीपीडी एन्कोडिंग का उपयोग करना।
यदि साइन बिट के बाद पहले दो बिट 00, 01, या 10 हैं, तो वे घातांक के अग्रणी बिट हैं, और उसके बाद के तीन बिट टीटीटी को अग्रणी दशमलव अंक (0 से 7) के रूप में समझा जाता है:
एस 00 टीटीटी (00)ईईईईईईईई (0टीटीटी)[ट्टट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्टट्ट][ट्टट्टट्टट्ट][ट्टट्टट्टट्ट] एस 01 टीटीटी (01)ईईईईईईईईई (0टीटीटी)[ट्टट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्टट्ट][ट्टट्टट्टट्ट][ट्टट्टट्टट्ट] एस 10 टीटीटी (10)ईईईईईईईई (0टीटीटी)[ट्टट्टट्टट्ट][ट्टट्टट्टट्ट][ट्टट्टट्टट्ट][ट्टट्टट्टट्ट][ट्टट्टट्टट्ट]
यदि साइन बिट के बाद पहले दो बिट्स 11 हैं, तो दूसरे 2-बिट्स घातांक के अग्रणी बिट्स हैं, और अगले बिट टी को प्रमुख दशमलव अंक (8 या 9) बनाने के लिए अंतर्निहित बिट्स 100 के साथ उपसर्ग किया जाता है:
एस 1100 टी (00)ईईईईईईईई (100टी)[ट्टट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट] एस 1101 टी (01)ईईईईईईईई (100टी)[ट्टट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट] एस 1110 टी (10)ईईईईईईईई (100टी)[ट्टट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट][ट्टट्टट्ट]
साइन बिट के बाद 5-बिट क्षेत्र के शेष दो संयोजन (11 110 और 11 111) का उपयोग क्रमशः ±अनंत और NaN का प्रतिनिधित्व करने के लिए किया जाता है।
डिकलेट्स के लिए DPD/3BCD ट्रांसकोडिंग निम्न तालिका द्वारा दी गई है। b9...b0 DPD के बिट्स हैं, और d2...d0 तीन BCD अंक हैं।
DPD encoded value | Decimal digits | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Code space (1024 states) | b9 | b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | d2 | d1 | d0 | Values encoded | Description | Occurrences (1000 states) | |
50.0% (512 states) | a | b | c | d | e | f | 0 | g | h | i | 0abc | 0def | 0ghi | (0–7) (0–7) (0–7) | Three small digits | 51.2% (512 states) | |
37.5% (384 states) | a | b | c | d | e | f | 1 | 0 | 0 | i | 0abc | 0def | 100i | (0–7) (0–7) (8–9) | Two small digits, one large |
38.4% (384 states) | |
a | b | c | g | h | f | 1 | 0 | 1 | i | 0abc | 100f | 0ghi | (0–7) (8–9) (0–7) | ||||
g | h | c | d | e | f | 1 | 1 | 0 | i | 100c | 0def | 0ghi | (8–9) (0–7) (0–7) | ||||
9.375% (96 states) | g | h | c | 0 | 0 | f | 1 | 1 | 1 | i | 100c | 100f | 0ghi | (8–9) (8–9) (0–7) | One small digit, two large |
9.6% (96 states) | |
d | e | c | 0 | 1 | f | 1 | 1 | 1 | i | 100c | 0def | 100i | (8–9) (0–7) (8–9) | ||||
a | b | c | 1 | 0 | f | 1 | 1 | 1 | i | 0abc | 100f | 100i | (0–7) (8–9) (8–9) | ||||
3.125% (32 states, 8 used) | x | x | c | 1 | 1 | f | 1 | 1 | 1 | i | 100c | 100f | 100i | (8–9) (8–9) (8–9) | Three large digits, bits b9 and b8 are don't care | 0.8% (8 states) |
8 दशमलव मान जिनके सभी अंक 8 या 9 हैं, उनमें से प्रत्येक में चार कोडिंग हैं। उपरोक्त तालिका में x चिह्नित बिट्स इनपुट पर ध्यान नहीं देते हैं, किन्तु गणना किए गए परिणामों में हमेशा 0 होंगे। ( वह 8 × 3 = 24 गैर-मानक एन्कोडिंग बीच के अंतर को भरते हैं 103 = 1000 and 210 = 1024.)
उपरोक्त स्थितियों में, दशमलव अंकों के डिकोड किए गए अनुक्रम के वास्तविक महत्वपूर्ण के साथ, दर्शाया गया मान है
यह भी देखें
- आईएसओ/आईईसी 10967, भाषा स्वतंत्र अंकगणित
- आदिम डेटा प्रकार
- डी संकेतन (वैज्ञानिक संकेतन)
संदर्भ
- ↑ IEEE Computer Society (2008-08-29). फ़्लोटिंग-पॉइंट अंकगणित के लिए आईईईई मानक. IEEE. doi:10.1109/IEEESTD.2008.4610935. ISBN 978-0-7381-5753-5. IEEE Std 754-2008. Retrieved 2016-02-08.
- ↑ "आईएसओ/आईईसी/आईईईई 60559:2011". 2011. Retrieved 2016-02-08.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ 3.0 3.1 Muller, Jean-Michel; Brisebarre, Nicolas; de Dinechin, Florent; Jeannerod, Claude-Pierre; Lefèvre, Vincent; Melquiond, Guillaume; Revol, Nathalie; Stehlé, Damien; Torres, Serge (2010). फ़्लोटिंग-पॉइंट अंकगणित की पुस्तिका (1 ed.). Birkhäuser. doi:10.1007/978-0-8176-4705-6. ISBN 978-0-8176-4704-9. LCCN 2009939668.
- ↑ Cowlishaw, Michael Frederic (2007-02-13) [2000-10-03]. "A Summary of Densely Packed Decimal encoding". IBM. Archived from the original on 2015-09-24. Retrieved 2016-02-07.