दशमलव64 फ़्लोटिंग-पॉइंट प्रारूप: Difference between revisions
No edit summary |
No edit summary |
||
(7 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
कम्प्यूटिंग में, '''दशमलव 64''' '''दशमलव फ़्लोटिंग-पॉइंट कंप्यूटर क्रमांकन प्रारूप''' है जो कंप्यूटर मेमोरी में 8 बाइट्स (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 | दशमलव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 9: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! संकेत !! संयोजन !! घातांक निरंतरता !! महत्वपूर्ण निरंतरता | ||
|- | |- | ||
! 1 bit !! 5 bits !! 8 bits !! 50 bits | ! 1 bit !! 5 bits !! 8 bits !! 50 bits | ||
Line 20: | Line 17: | ||
आईईईई 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 40: | ||
| {{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 से लेकर बाइनरी महत्वपूर्ण का उपयोग करता है {{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 बिट्स पर संग्रहीत, {{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" या "10" हैं, तो घातांक क्षेत्र में साइन बिट के बाद के {{val|10|u=bits}} होते हैं, और महत्व शेष {{val|53|u=bits}} होता है, जिसमें अंतर्निहित {{val|0|u=bit}} होता है :<syntaxhighlight lang="abl"> | ||
s 00eeeeeeee (0)ttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt | |||
s 01eeeeeeee (0)ttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt | |||
s 10eeeeeeee (0)ttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt | |||
</syntaxhighlight>इसमें [[असामान्य संख्याएँ]] सम्मिलित हैं जहाँ अग्रणी महत्वपूर्ण अंक 0 है। | |||
साइन बिट के बाद 2-बिट अनुक्रम 11 इंगित करता है कि | यदि साइन बिट के बाद के {{val|2|u=bits}} "11" हैं, तो 10-बिट एक्सपोनेंट क्षेत्र को {{val|2|u=bits}} दाईं ओर स्थानांतरित कर दिया जाता है (साइन बिट और उसके बाद "11" बिट्स दोनों के बाद), और दर्शाया गया महत्व शेष में है इस प्रकार {{val|51|u=bits}} इस स्थिति में वास्तविक महत्व के अधिकांश बिट्स के लिए एक अंतर्निहित (अर्थात संग्रहीत नहीं) अग्रणी 3-बिट अनुक्रम "100" है (महत्व के शेष निचले बिट्स ttt...ttt में, सभी संभावित मान नहीं हैं) उपयोग किया गया)।<syntaxhighlight> | ||
s 1100eeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt | |||
s 1101eeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt | |||
s 1110eeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt | |||
</syntaxhighlight>साइन बिट के बाद 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> के रूप में एन्कोड किया गया है, इस प्रकार जिसमें अग्रणी 4 बिट एन्कोडिंग 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}} | : {{math|1=(−1)<sup>sign</sup> × 10<sup>exponent−398</sup> × significand}} | ||
यदि साइन बिट के बाद के चार बिट 1111 हैं तो मान अनंत या NaN है, जैसा कि ऊपर वर्णित है:<syntaxhighlight> | |||
s 11110 xx...x ±infinity | |||
s 11111 0x...x a quiet NaN | |||
s 11111 1x...x a signalling NaN | |||
</syntaxhighlight> | |||
=== घनीभूत दशमलव | === घनीभूत दशमलव महत्वपूर्ण क्षेत्र === | ||
इस संस्करण में, | इस संस्करण में, महत्वपूर्ण को दशमलव अंकों की श्रृंखला के रूप में संग्रहीत किया जाता है। अग्रणी अंक 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) के रूप में समझा जाता है:<syntaxhighlight> | |||
s 00 TTT (00)eeeeeeee (0TTT)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt] | |||
s 01 TTT (01)eeeeeeee (0TTT)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt] | |||
s 10 TTT (10)eeeeeeee (0TTT)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt] | |||
यदि साइन बिट के बाद पहले दो बिट्स 11 हैं, तो दूसरे 2-बिट्स घातांक के अग्रणी बिट्स हैं, और अगले बिट | |||
</syntaxhighlight>यदि साइन बिट के बाद पहले दो बिट्स 11 हैं, तो दूसरे 2-बिट्स घातांक के अग्रणी बिट्स हैं, और अगले बिट t को प्रमुख दशमलव अंक (8 या 9) बनाने के लिए अंतर्निहित बिट्स 100 के साथ उपसर्ग किया जाता है:<syntaxhighlight> | |||
s 1100 T (00)eeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt] | |||
साइन बिट के बाद 5-बिट | s 1101 T (01)eeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt] | ||
s 1110 T (10)eeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt] | |||
</syntaxhighlight>साइन बिट के बाद 5-बिट क्षेत्र के शेष दो संयोजन (11 110 और 11 111) का उपयोग क्रमशः ±अनंत और NaN का प्रतिनिधित्व करने के लिए किया जाता है। | |||
डिकलेट्स के लिए DPD/3BCD ट्रांसकोडिंग निम्न तालिका द्वारा दी गई है। b9...b0 DPD के बिट्स हैं, और d2...d0 तीन BCD अंक हैं। | डिकलेट्स के लिए DPD/3BCD ट्रांसकोडिंग निम्न तालिका द्वारा दी गई है। b9...b0 DPD के बिट्स हैं, और d2...d0 तीन BCD अंक हैं। | ||
Line 111: | Line 117: | ||
{{Densely packed decimal}} | {{Densely packed decimal}} | ||
8 दशमलव मान जिनके सभी अंक 8 या 9 हैं, उनमें से प्रत्येक में चार कोडिंग हैं। | 8 दशमलव मान जिनके सभी अंक 8 या 9 हैं, उनमें से प्रत्येक में चार कोडिंग हैं। उपरोक्त तालिका में x चिह्नित बिट्स इनपुट पर ध्यान नहीं देते हैं, किन्तु गणना किए गए परिणामों में सदैव 0 होंगे। ( वह {{math|size=100%|1=8 × 3 = 24}} गैर-मानक एन्कोडिंग {{math|size=100%|1=10<sup>3</sup> = 1000 and 2<sup>10</sup> = 1024.}} बीच के अंतर को भरते हैं) | ||
उपरोक्त तालिका में x चिह्नित बिट्स इनपुट पर ध्यान नहीं देते हैं, | |||
( वह {{math|size=100%|1=8 × 3 = 24}} गैर-मानक एन्कोडिंग | |||
उपरोक्त | उपरोक्त स्थितियों में, दशमलव अंकों के डिकोड किए गए अनुक्रम के वास्तविक महत्वपूर्ण के साथ, दर्शाया गया मान है | ||
:<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> | ||
== यह भी देखें == | == यह भी देखें == | ||
* | * ISO/IEC 10967, भाषा स्वतंत्र अंकगणित | ||
* [[आदिम डेटा प्रकार]] | * [[आदिम डेटा प्रकार|मौलिक डेटा प्रकार]] | ||
* [[डी संकेतन (वैज्ञानिक संकेतन)]] | * [[डी संकेतन (वैज्ञानिक संकेतन)|डी नोटेशन (वैज्ञानिक नोटेशन)]] | ||
== संदर्भ == | == संदर्भ == | ||
{{reflist}} | {{reflist}} | ||
[[Category: | [[Category:CS1 errors]] | ||
[[Category:Created On 25/07/2023]] | [[Category:Created On 25/07/2023]] | ||
[[Category:Machine Translated Page]] | |||
[[Category:Pages with script errors]] | |||
[[Category:Pages with syntax highlighting errors]] | |||
[[Category:Templates Vigyan Ready]] | |||
[[Category:कंप्यूटर अंकगणित]] | |||
[[Category:डेटा के प्रकार]] | |||
[[Category:फ़्लोटिंग पॉइंट प्रकार]] |
Latest revision as of 15:31, 8 September 2023
कम्प्यूटिंग में, दशमलव 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 होता है :
s 00eeeeeeee (0)ttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt
s 01eeeeeeee (0)ttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt
s 10eeeeeeee (0)ttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt
इसमें असामान्य संख्याएँ सम्मिलित हैं जहाँ अग्रणी महत्वपूर्ण अंक 0 है। यदि साइन बिट के बाद के 2 bits "11" हैं, तो 10-बिट एक्सपोनेंट क्षेत्र को 2 bits दाईं ओर स्थानांतरित कर दिया जाता है (साइन बिट और उसके बाद "11" बिट्स दोनों के बाद), और दर्शाया गया महत्व शेष में है इस प्रकार 51 bits इस स्थिति में वास्तविक महत्व के अधिकांश बिट्स के लिए एक अंतर्निहित (अर्थात संग्रहीत नहीं) अग्रणी 3-बिट अनुक्रम "100" है (महत्व के शेष निचले बिट्स ttt...ttt में, सभी संभावित मान नहीं हैं) उपयोग किया गया)।
s 1100eeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt
s 1101eeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt
s 1110eeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt
साइन बिट के बाद 2-बिट अनुक्रम 11 इंगित करता है कि महत्वपूर्ण के लिए अंतर्निहित 3-बिट उपसर्ग 100 है। बाइनरी प्रारूपों के लिए सामान्य मानों के महत्वपूर्ण में अंतर्निहित 1-बिट उपसर्ग 1 की तुलना करें। साइन बिट के बाद 2-बिट अनुक्रम 00, 01, या 10 घातांक क्षेत्र का भाग हैं।
महत्व क्षेत्र के अग्रणी बिट्स सबसे महत्वपूर्ण दशमलव अंक को एन्कोड नहीं करते हैं; वह बस एक बड़ी शुद्ध-बाइनरी संख्या का भाग हैं। उदाहरण के लिए, 8000000000000000 का महत्व बाइनरी 0111000110101111110101001001100011010000000000000000002 के रूप में एन्कोड किया गया है, इस प्रकार जिसमें अग्रणी 4 बिट एन्कोडिंग 7 है; पहला महत्व जिसके लिए 54वें बिट की आवश्यकता होती है वह 253 = 9007199254740992. है। उच्चतम वैध महत्व 9999999999999999 है जिसका बाइनरी एन्कोडिंग (100)0111000011011110010011011111100000011111111111111112 है ( 3 सबसे महत्वपूर्ण बिट्स (100) संग्रहीत नहीं हैं किन्तु अंतर्निहित हैं जैसा कि ऊपर दिखाया गया है; और अगला बिट है वैध एन्कोडिंग में सदैव शून्य)।
उपरोक्त स्थितियों में, दर्शाया गया मान है
- (−1)sign × 10exponent−398 × significand
यदि साइन बिट के बाद के चार बिट 1111 हैं तो मान अनंत या NaN है, जैसा कि ऊपर वर्णित है:
s 11110 xx...x ±infinity
s 11111 0x...x a quiet NaN
s 11111 1x...x a signalling NaN
घनीभूत दशमलव महत्वपूर्ण क्षेत्र
इस संस्करण में, महत्वपूर्ण को दशमलव अंकों की श्रृंखला के रूप में संग्रहीत किया जाता है। अग्रणी अंक 0 और 9 (3 या 4 बाइनरी बिट्स) के बीच है, और शेष महत्वपूर्ण सघन रूप से पैक दशमलव (डीपीडी) एन्कोडिंग का उपयोग करता है।
सबसे आगे वाला 2 bits घातांक और अग्रणी अंक (3 या 4 bits) महत्वपूर्ण को पांच बिट्स में संयोजित किया जाता है जो साइन बिट का अनुसरण करते हैं।
उसके बाद के आठ बिट्स घातांक निरंतरता क्षेत्र हैं, जो घातांक के कम-महत्वपूर्ण बिट्स प्रदान करते हैं।
अंतिम 50 bits महत्वपूर्ण निरंतरता क्षेत्र हैं, जिसमें पांच 10-बिट डिकलेट (कंप्यूटिंग) सम्मिलित हैं।[3] इस प्रकार प्रत्येक डिकलेट तीन दशमलव अंकों को कूटबद्ध करता है [3] डीपीडी एन्कोडिंग का उपयोग करता है।
यदि साइन बिट के बाद पहले दो बिट 00, 01, या 10 हैं, तो वह घातांक के अग्रणी बिट हैं, और उसके बाद के तीन बिट टीटीटी को अग्रणी दशमलव अंक (0 से 7) के रूप में समझा जाता है:
s 00 TTT (00)eeeeeeee (0TTT)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]
s 01 TTT (01)eeeeeeee (0TTT)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]
s 10 TTT (10)eeeeeeee (0TTT)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]
यदि साइन बिट के बाद पहले दो बिट्स 11 हैं, तो दूसरे 2-बिट्स घातांक के अग्रणी बिट्स हैं, और अगले बिट t को प्रमुख दशमलव अंक (8 या 9) बनाने के लिए अंतर्निहित बिट्स 100 के साथ उपसर्ग किया जाता है:
s 1100 T (00)eeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]
s 1101 T (01)eeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]
s 1110 T (10)eeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]
साइन बिट के बाद 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. बीच के अंतर को भरते हैं)
उपरोक्त स्थितियों में, दशमलव अंकों के डिकोड किए गए अनुक्रम के वास्तविक महत्वपूर्ण के साथ, दर्शाया गया मान है
यह भी देखें
- ISO/IEC 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.