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

दशमलव128 दशमलव फ़्लोटिंग-पॉइंट कंप्यूटर नंबर प्रारूप है जो कंप्यूटर मेमोरी में 128 बिट का अवलोकन करता है। इसे आधिकारिक रूप से आईईईई 754-2008 पेश किया गया था, इसका उद्देश्य वित्तीय और कर गणनाओं जैसे कार्यों में दशमलव गोलाई को सटीकता से अनुकरण करने की आवश्यकता होने पर है।

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

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

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

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

दोनों विकल्प प्रतिनिधित्व योग्य संख्याओं की बिल्कुल समान श्रेणी प्रदान करते हैं: महत्व के 34 अंक और $3 × 2^{12} = 12,288$ संभावित घातांक मान।

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

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

बाइनरी पूर्णांक महत्व फ़ील्ड
यह प्रारूप 0 से $10^{34} − 1$ से लेकर बाइनरी महत्व का उपयोग करता है, जिससे बड़े संख्याओं को निम्न रूप से प्रतिनिधित किया जा सकता है: 9 999  999  999  999  999  999  999  999  999  999  999 = 1ED09BEAD87C0378D8E63FFFFFFFF16   =0111  1011010000  1001101111  1010101101  1000011111  0000000011  0111100011  0110001110  0110001111  1111111111  1111111111  11111111112.

एन्कोडिंग $10 × 2^{110} − 1$ = 12 980  742  146  337  069  071  326  240  823  050  239 तक बाइनरी महत्व का प्रतिनिधित्व कर सकता है, लेकिन $10^{34} − 1$ से अधिक मानें अवैध होती हैं (और मानक कारणशृंखला इन्हें इम्प्लिमेंटेशन द्वारा 0 के रूप में व्यवहारित करने की आवश्यकता होती है, यदि इन्हें इनपुट पर प्राप्त किया जाए)।

जैसा कि ऊपर वर्णित किया गया है, कोडिंग उन उपयोगों के आधार पर भिन्न होती है, जिसमें अर्थविंश के सबसे महत्वपूर्ण 4 बिट 0 से 7 तक (00002 to 01112) हैं, या इससे अधिक (10002 or 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 प्रारूप के लिए, ये सभी महत्व वैध सीमा से बाहर हैं (वे $2^{113} > 1.038 × 10^{34}$ इससे शुरू होते हैं), और इस प्रकार शून्य के रूप में डिकोड किया जाता है, लेकिन पैटर्न दशमलव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-बिट डिक्लेट (कंप्यूटिंग) शामिल हैं। प्रत्येक दशमलवेंट में तीन दशमलव अंक को दशमलव (DPD) कोडिंग का उपयोग करके प्रतिनिधित किया जाता है।

यदि संकेत बिट के बाद के पहले दो बिट "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 (Not a Number) को प्रतिनिधित करने के लिए किया जाता है।

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

जिन 8 दशमलवे मान के अंक सभी 8 या 9 होते हैं, उनके पास चार कोडिंग्स प्रत्येक होती हैं। ऊपर दिए गए तालिका में x बिट इनपुट पर नज़रअंदाज़ किए जाते हैं, लेकिन उन्हें गणना परिणाम में हमेशा 0 ही होगा।( वह $8 × 3 = 24$ गैर-मानक एन्कोडिंग बीच के अंतर को भरते हैं $10^{3} = 1000$ और $2^{10} = 1024$.)

उपरोक्त मामलों में, जहां सच्चा अर्थविंश दशमलव अंकों की श्रृंखला के रूप में डिकोड किया जाता है, प्रतिनिधित मूल्य होता है


 * $$(-1)^\text{signbit}\times 10^{\text{exponentbits}_2-6176_{10}}\times \text{truesignificand}_{10}$$

यह भी देखें

 * आईएसओ/आईईसी 10967, भाषा स्वतंत्र अंकगणित
 * आदिम डेटा प्रकार
 * क्यू संकेतन (वैज्ञानिक संकेतन)