दशमलव128 फ़्लोटिंग-पॉइंट प्रारूप: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 66: Line 66:
यदि साइन बिट के बाद के 2 बिट्स 11 हैं, तो 14-बिट एक्सपोनेंट फ़ील्ड को 2 बिट्स दाईं ओर स्थानांतरित कर दिया जाता है (साइन बिट और उसके बाद के 11 बिट्स दोनों के बाद), और दर्शाया गया महत्व शेष 111 बिट्स में होता है। इस मामले में वास्तविक महत्व में 3-बिट अनुक्रम 100 का अंतर्निहित (अर्थात संग्रहीत नहीं) अग्रणी है।
यदि साइन बिट के बाद के 2 बिट्स 11 हैं, तो 14-बिट एक्सपोनेंट फ़ील्ड को 2 बिट्स दाईं ओर स्थानांतरित कर दिया जाता है (साइन बिट और उसके बाद के 11 बिट्स दोनों के बाद), और दर्शाया गया महत्व शेष 111 बिट्स में होता है। इस मामले में वास्तविक महत्व में 3-बिट अनुक्रम 100 का अंतर्निहित (अर्थात संग्रहीत नहीं) अग्रणी है।


   एस 1100ईईईईईईईईईई (100) टी ट्टट्टट्टट्ट ट्टट्टट्टट्ट tttttttt tttttttt tttttttt tttttttt tttttttttt
   s 1100eeeeeeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt
   एस 1101ईईईईईईईईईई (100) टी ट्टट्टट्टट्ट tttttttt tttttttt tttttttttt tttttttt tttttttt tttttttttt
   s 1101eeeeeeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt
   एस 1110ईईईईईईईईईई (100) टी ट्टट्टट्टट्ट ट्टट्टट्टट्ट tttttttt tttttttt tttttttt tttttttt tttttttttt
   s 1110eeeeeeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt


साइन बिट के बाद 11 2-बिट अनुक्रम इंगित करता है कि महत्व के लिए अंतर्निहित 100 3-बिट उपसर्ग है। बाइनरी प्रारूपों के लिए सामान्य मानों के महत्व में अंतर्निहित 1 होने की तुलना करें। 00, 01, या 10 बिट घातांक फ़ील्ड का हिस्सा हैं।
साइन बिट के बाद 11 2-बिट अनुक्रम इंगित करता है कि महत्व के लिए अंतर्निहित 100 3-बिट उपसर्ग है। बाइनरी प्रारूपों के लिए सामान्य मानों के महत्व में अंतर्निहित 1 होने की तुलना करें। 00, 01, या 10 बिट घातांक फ़ील्ड का हिस्सा हैं।
Line 99: Line 99:
}}
}}
यदि साइन बिट के बाद पहले दो बिट्स 11 हैं, तो दूसरे दो बिट्स घातांक के अग्रणी बिट्स हैं, और अंतिम बिट को 100 के साथ उपसर्ग करके अग्रणी दशमलव अंक (8 या 9) बनाया जाता है:
यदि साइन बिट के बाद पहले दो बिट्स 11 हैं, तो दूसरे दो बिट्स घातांक के अग्रणी बिट्स हैं, और अंतिम बिट को 100 के साथ उपसर्ग करके अग्रणी दशमलव अंक (8 या 9) बनाया जाता है:
{{pre|
{{pre|   s 1100 T (00)eeeeeeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]  
  s 1100 T (00)eeeeeeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]  
   s 1101 T (01)eeeeeeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]  
   s 1101 T (01)eeeeeeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]  
   s 1110 T (10)eeeeeeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]
   s 1110 T (10)eeeeeeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]}}
}}
5-बिट फ़ील्ड के शेष दो संयोजन (11110 और 11111)।
5-बिट फ़ील्ड के शेष दो संयोजन (11110 और 11111)।
क्रमशः ±अनंत और NaN का प्रतिनिधित्व करने के लिए उपयोग किया जाता है।
क्रमशः ±अनंत और NaN का प्रतिनिधित्व करने के लिए उपयोग किया जाता है।

Revision as of 18:15, 28 July 2023

दशमलव128 दशमलव फ़्लोटिंग-पॉइंट कंप्यूटर नंबर प्रारूप है जो स्मृति में 128 बिट्स रखता है। आईईईई 754-2008 में औपचारिक रूप से पेश किया गया,[1] यह उन अनुप्रयोगों के लिए है जहां दशमलव पूर्णांकन का बिल्कुल अनुकरण करना आवश्यक है, जैसे कि वित्तीय और कर गणना। रेफरी>Cowlishaw, Mike (2007). "दशमलव अंकगणित अक्सर पूछे जाने वाले प्रश्न - भाग 1 - सामान्य प्रश्न". speleotrove.com. IBM Corporation. Retrieved 2022-07-29.</ref>

दशमलव128 महत्व के 34 दशमलव अंकों और −6143 से +6144 की घातांक सीमा का समर्थन करता है, यानी। ±0.000000000000000000000000000000000×10^−6143 को ±9.999999999999999999999999999999999×10^6144. क्योंकि महत्व सामान्यीकृत नहीं है, 34 से कम महत्वपूर्ण अंकों वाले अधिकांश मूल्यों में कई संभावित प्रतिनिधित्व होते हैं; 1 × 102=0.1 × 103=0.01 × 104, आदि। शून्य के 12288 संभावित निरूपण हैं (नकारात्मक शून्य सहित 24576)।

दशमलव128 मानों का निरूपण

Sign Combination Significand continuation
1 bit 17 bits 110 bits
s mmmmmmmmmmmmmmmmm cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

IEEE 754 दशमलव128 मानों के लिए दो वैकल्पिक प्रतिनिधित्व विधियों की अनुमति देता है। मानक यह निर्दिष्ट नहीं करता है कि यह कैसे दर्शाया जाए कि किस प्रतिनिधित्व का उपयोग किया जाता है, उदाहरण के लिए ऐसी स्थिति में जहां सिस्टम के बीच दशमलव128 मान संचारित होते हैं।

बाइनरी पूर्णांक दशमलव (बीआईडी) के आधार पर प्रतिनिधित्व विधि में, महत्व को बाइनरी कोडित सकारात्मक पूर्णांक के रूप में दर्शाया जाता है।

अन्य, वैकल्पिक, प्रतिनिधित्व विधि अधिकांश महत्व (सबसे महत्वपूर्ण अंक को छोड़कर) के लिए सघन रूप से पैक दशमलव (डीपीडी) पर आधारित है।

दोनों विकल्प प्रतिनिधित्व योग्य संख्याओं की बिल्कुल समान श्रेणी प्रदान करते हैं: महत्व के 34 अंक और 3 × 212 = 12288 संभावित घातांक मान।

दोनों मामलों में, महत्व के सबसे महत्वपूर्ण 4 बिट्स (जिनमें वास्तव में केवल 10 संभावित मान हैं) को संयोजन क्षेत्र में 5 बिट्स के 32 संभावित मानों में से 30 का उपयोग करने के लिए घातांक के सबसे महत्वपूर्ण 2 बिट्स (3 संभावित मान) के साथ जोड़ा जाता है। शेष संयोजन अनन्तता और NaNs को कूटबद्ध करते हैं।

Combination field Exponent Significand Msbits Other
00mmmmmmmmmmmmmmm 00xxxxxxxxxxxx 0ccc
01mmmmmmmmmmmmmmm 01xxxxxxxxxxxx 0ccc
10mmmmmmmmmmmmmmm 10xxxxxxxxxxxx 0ccc
1100mmmmmmmmmmmmm 00xxxxxxxxxxxx 100c
1101mmmmmmmmmmmmm 01xxxxxxxxxxxx 100c
1110mmmmmmmmmmmmm 10xxxxxxxxxxxx 100c
11110mmmmmmmmmmmm ±Infinity
11111mmmmmmmmmmmm NaN. Sign bit ignored. Sixth bit of the combination field determines if the NaN is signaling.

इन्फिनिटी और NaN के मामले में, एन्कोडिंग के अन्य सभी बिट्स को नजरअंदाज कर दिया जाता है। इस प्रकार, किसी सरणी को बाइट मान से भरकर इनफिनिटीज़ या NaNs में प्रारंभ करना संभव है।

बाइनरी पूर्णांक महत्व फ़ील्ड

यह प्रारूप 0 से लेकर बाइनरी महत्व का उपयोग करता है 1034 − 1 = 9999999999999999999999999999999999 = 1ED09BEAD87C0378D8E63FFFFFFFF16 =

0111101101000010011011111010101101100001111100000000110111100011011000111001100011111111111111111111111111111111112.

एन्कोडिंग तक बाइनरी महत्व का प्रतिनिधित्व कर सकता है 10 × 2110 − 1 = 12980742146337069071326240823050239 लेकिन मान इससे बड़ा है 1034 − 1 अवैध हैं (और इनपुट पर सामने आने पर मानक को उन्हें 0 के रूप में मानने के लिए कार्यान्वयन की आवश्यकता होती है)।

जैसा कि ऊपर वर्णित है, एन्कोडिंग इस पर निर्भर करती है कि महत्व के सबसे महत्वपूर्ण 4 बिट्स 0 से 7 (0000) की सीमा में हैं या नहीं2 0111 पर2), या उच्चतर (10002 या 10012).

यदि साइन बिट के बाद के 2 बिट 00, 01, या 10 हैं, तो एक्सपोनेंट फ़ील्ड में साइन बिट के बाद 14 बिट्स होते हैं, और महत्व शेष 113 बिट है, जिसमें अंतर्निहित अग्रणी 0 बिट है:

 एस 00ईईईईईईईईईई (0) टीटीटी टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी
 एस 01ईईईईईईईईईई (0)टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी
 एस 10ईईईईईईईईई (0) टीटीटी टीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटीटी

इसमें असामान्य संख्याएँ शामिल हैं जहाँ अग्रणी महत्व अंक 0 है।

यदि साइन बिट के बाद के 2 बिट्स 11 हैं, तो 14-बिट एक्सपोनेंट फ़ील्ड को 2 बिट्स दाईं ओर स्थानांतरित कर दिया जाता है (साइन बिट और उसके बाद के 11 बिट्स दोनों के बाद), और दर्शाया गया महत्व शेष 111 बिट्स में होता है। इस मामले में वास्तविक महत्व में 3-बिट अनुक्रम 100 का अंतर्निहित (अर्थात संग्रहीत नहीं) अग्रणी है।

 s 1100eeeeeeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt
 s 1101eeeeeeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt
 s 1110eeeeeeeeeeee (100)t tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt

साइन बिट के बाद 11 2-बिट अनुक्रम इंगित करता है कि महत्व के लिए अंतर्निहित 100 3-बिट उपसर्ग है। बाइनरी प्रारूपों के लिए सामान्य मानों के महत्व में अंतर्निहित 1 होने की तुलना करें। 00, 01, या 10 बिट घातांक फ़ील्ड का हिस्सा हैं।

दशमलव128 प्रारूप के लिए, ये सभी महत्व वैध सीमा से बाहर हैं (वे इससे शुरू होते हैं) 2113 > 1.038 × 1034), और इस प्रकार शून्य के रूप में डिकोड किया जाता है, लेकिन पैटर्न दशमलव32 और दशमलव64 के समान है।

उपरोक्त मामलों में, दर्शाया गया मान है

(−1)साइन×10प्रतिपादक−6176 × महत्व

यदि साइन बिट के बाद के चार बिट 1111 हैं तो मान अनंत या NaN है, जैसा कि ऊपर वर्णित है:

s 11110 xx...x ±अनंत
s 11111 0x...x शांत NaN
s 11111 1x...x सिग्नलिंग NaN

घनीभूत दशमलव महत्व फ़ील्ड

इस संस्करण में, महत्व को दशमलव अंकों की श्रृंखला के रूप में संग्रहीत किया जाता है। अग्रणी अंक 0 और 9 (3 या 4 बाइनरी बिट्स) के बीच है, और शेष महत्व सघन रूप से पैक दशमलव (डीपीडी) एन्कोडिंग का उपयोग करता है।

घातांक के अग्रणी 2 बिट और महत्व के अग्रणी अंक (3 या 4 बिट) को साइन बिट का अनुसरण करने वाले पांच बिट्स में संयोजित किया जाता है।

इसके बाद के बारह बिट्स घातांक निरंतरता क्षेत्र हैं, जो घातांक के कम-महत्वपूर्ण बिट्स प्रदान करते हैं।

अंतिम 110 बिट महत्वपूर्ण निरंतरता क्षेत्र हैं, जिसमें ग्यारह 10-बिट डिक्लेट (कंप्यूटिंग) शामिल हैं।[2] प्रत्येक डिकलेट तीन दशमलव अंकों को कूटबद्ध करता है[2]डीपीडी एन्कोडिंग का उपयोग करना।

यदि साइन बिट के बाद पहले दो बिट्स 00, 01, या 10 हैं, तो वे घातांक के अग्रणी बिट्स हैं, और उसके बाद के तीन बिट्स को अग्रणी दशमलव अंक (0 से 7) के रूप में समझा जाता है:

s 00 TTT (00)eeeeeeeeeeee (0TTT)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt] 
   s 01 TTT (01)eeeeeeeeeeee (0TTT)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt] 
   s 10 TTT (10)eeeeeeeeeeee (0TTT)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]

यदि साइन बिट के बाद पहले दो बिट्स 11 हैं, तो दूसरे दो बिट्स घातांक के अग्रणी बिट्स हैं, और अंतिम बिट को 100 के साथ उपसर्ग करके अग्रणी दशमलव अंक (8 या 9) बनाया जाता है:

s 1100 T (00)eeeeeeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt] 
   s 1101 T (01)eeeeeeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt] 
   s 1110 T (10)eeeeeeeeeeee (100T)[tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt][tttttttttt]

5-बिट फ़ील्ड के शेष दो संयोजन (11110 और 11111)। क्रमशः ±अनंत और NaN का प्रतिनिधित्व करने के लिए उपयोग किया जाता है।

डिकलेट्स के लिए DPD/3BCD ट्रांसकोडिंग निम्न तालिका द्वारा दी गई है। b9...b0 DPD के बिट्स हैं, और d2...d0 तीन BCD अंक हैं।

Densely packed decimal encoding rules[3]
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 और 210 = 1024.)

उपरोक्त मामलों में, दशमलव अंकों के डिकोड किए गए अनुक्रम के वास्तविक महत्व के साथ, दर्शाया गया मान है

यह भी देखें

संदर्भ

  1. IEEE Computer Society (2008-08-29). फ़्लोटिंग-पॉइंट अंकगणित के लिए आईईईई मानक. IEEE. doi:10.1109/IEEESTD.2008.4610935. ISBN 978-0-7381-5753-5. IEEE Std 754-2008.
  2. 2.0 2.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.
  3. 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.