दशमलव128 फ़्लोटिंग-पॉइंट प्रारूप
Floating-point formats |
---|
IEEE 754 |
|
Other |
दशमलव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 मानों का निरूपण
संकेत | संयोजन | महत्वपूर्ण निरंतरता |
---|---|---|
1 बिट | 17 बिट्स | 110 बिट्स |
s | mmmmmmmmmmmmmmmmm | cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc |
IEEE 754 दशमलव128 मानों के लिए दो वैकल्पिक प्रतिनिधित्व विधियों की अनुमति देता है। मानक यह निर्दिष्ट नहीं करता है कि यह कैसे दर्शाया जाए कि किस प्रतिनिधित्व का उपयोग किया जाता है, उदाहरण के लिए ऐसी स्थिति में जहां सिस्टम के बीच दशमलव128 मान संचारित होते हैं।
बाइनरी पूर्णांक दशमलव (बीआईडी) के आधार पर प्रतिनिधित्व विधि में, महत्व को बाइनरी कोडित सकारात्मक पूर्णांक के रूप में दर्शाया जाता है।
अन्य, वैकल्पिक, प्रतिनिधित्व विधि अधिकांश महत्व (सबसे महत्वपूर्ण अंक को छोड़कर) के लिए सघन रूप से पैक दशमलव (डीपीडी) पर आधारित है।
दोनों विकल्प प्रतिनिधित्व योग्य संख्याओं की बिल्कुल समान श्रेणी प्रदान करते हैं: महत्व के 34 अंक और 3 × 212 = 12288 संभावित घातांक मान।
दोनों मामलों में, महत्व के सबसे महत्वपूर्ण 4 बिट्स (जिनमें वास्तव में केवल 10 संभावित मान हैं) को संयोजन फील्ड में 5 बिट्स के 32 संभावित मानों में से 30 का उपयोग करने के लिए घातांक के सबसे महत्वपूर्ण 2 बिट्स (3 संभावित मान) के साथ जोड़ा जाता है। शेष संयोजन अनन्तता और NaNs को कूटबद्ध करते हैं।
संयोजन फील्ड | प्रतिपादक | महत्वपूर्ण और एमएसबिट्स | अन्य |
---|---|---|---|
00mmmmmmmmmmmmmmm | 00xxxxxxxxxxxx | 0ccc | — |
01mmmmmmmmmmmmmmm | 01xxxxxxxxxxxx | 0ccc | — |
10mmmmmmmmmmmmmmm | 10xxxxxxxxxxxx | 0ccc | — |
1100mmmmmmmmmmmmm | 00xxxxxxxxxxxx | 100c | — |
1101mmmmmmmmmmmmm | 01xxxxxxxxxxxx | 100c | — |
1110mmmmmmmmmmmmm | 10xxxxxxxxxxxx | 100c | — |
11110mmmmmmmmmmmm | — | — | ±अनंत |
11111mmmmmmmmmmmm | — | — | NaN . साइन बिट को नजरअंदाज कर दिया गया। संयोजन फील्ड का छठा बिट यह निर्धारित करता है कि NaN सिग्नलिंग कर रहा है या नहीं। |
इन्फिनिटी और 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 बिट है:
s 00eeeeeeeeeeee (0)ttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt s 01eeeeeeeeeeee (0)ttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt s 10eeeeeeeeeeee (0)ttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt tttttttttt
इसमें असामान्य संख्याएँ शामिल हैं जहाँ अग्रणी महत्व अंक 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 अंक हैं।
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.)
उपरोक्त मामलों में, दशमलव अंकों के डिकोड किए गए अनुक्रम के वास्तविक महत्व के साथ, दर्शाया गया मान है
यह भी देखें
- आईएसओ/आईईसी 10967, भाषा स्वतंत्र अंकगणित
- आदिम डेटा प्रकार
- क्यू संकेतन (वैज्ञानिक संकेतन)
संदर्भ
- ↑ IEEE Computer Society (2008-08-29). फ़्लोटिंग-पॉइंट अंकगणित के लिए आईईईई मानक. IEEE. doi:10.1109/IEEESTD.2008.4610935. ISBN 978-0-7381-5753-5. IEEE Std 754-2008.
- ↑ 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.
- ↑ 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.