बाइनरी पूर्णांक दशमलव

IEEE 754-2008 मानक में दशमलव फ़्लोटिंग-पॉइंट संख्या प्रारूप शामिल हैं जिसमें महत्व और घातांक (और NaN के पेलोड) को दो तरीकों से एन्कोड किया जा सकता है, जिन्हें बाइनरी एन्कोडिंग और दशमलव एन्कोडिंग कहा जाता है।

दोनों प्रारूप एक संख्या को एक साइन बिट एस, एक प्रतिपादक क्यू (क्यू के बीच) में तोड़ते हैंmin और क्यूmax), और एक पी-अंक का महत्व सी (0 और 10 के बीच) हैप−1). एन्कोड किया गया मान (−1) हैस×10क्यू×सी. दोनों प्रारूपों में संभावित मानों की सीमा समान है, लेकिन महत्व c को दर्शाने के तरीके में वे भिन्न हैं। दशमलव एन्कोडिंग में, इसे पी दशमलव अंकों की एक श्रृंखला के रूप में एन्कोड किया गया है (घनीभूत दशमलव (डीपीडी) एन्कोडिंग का उपयोग करके)। यह दशमलव रूप में रूपांतरण को कुशल बनाता है, लेकिन प्रक्रिया के लिए एक विशेष दशमलव अंकगणितीय तर्क इकाई की आवश्यकता होती है। 'बाइनरी पूर्णांक दशमलव' ('बीआईडी') एन्कोडिंग में, इसे बाइनरी संख्या के रूप में एन्कोड किया गया है।

प्रारूप
इस तथ्य का उपयोग करते हुए कि 210 = 1024, 10 से थोड़ा ही अधिक है3 = 1000, 3एन-अंकीय दशमलव संख्याओं को कुशलतापूर्वक 10एन बाइनरी बिट्स में पैक किया जा सकता है। हालाँकि, IEEE प्रारूप में 3n+1 अंकों का महत्व है, जिसे दर्शाने के लिए आम तौर पर 10n+4 बाइनरी बिट्स की आवश्यकता होगी।

यह कुशल नहीं होगा, क्योंकि अतिरिक्त 4 बिट्स के 16 संभावित मानों में से केवल 10 की आवश्यकता है। एक अधिक कुशल एन्कोडिंग को इस तथ्य का उपयोग करके डिज़ाइन किया जा सकता है कि घातांक सीमा 3×2 के रूप में हैक, इसलिए घातांक कभी भी आरंभ नहीं करता. एक उदाहरण के रूप में दशमलव32 एन्कोडिंग (3*2+1 दशमलव अंकों के महत्व के साथ) का उपयोग करना ( प्रतिपादक के लिए खड़ा है,   मंटिसा के लिए, यानी महत्व):

एस 00ईईईईई (0)ममममममममममममममममममममममममममममममममममममममममममममममम एस 01ईईईईई (0)ममममममममममममममममममममममममममममममममममममममममममममममममम एस 10ईईईईई (0)मममममममममममममममममममममममममममममममममममममममममममममम एस 1100ईईईईई (100)एम म्म्म्म्म्म्म्म म्म्म्म्म्म्म्म एस 1101ईईईईईई (100)एम म्म्म्म्म्म्म्म म्म्म्म्म्म्म्म एस 1110ईईईईई (100)एम म्म्म्म्म्म्म्म म्म्म्म्म्म्म्म एस 11110 xxxxxxxxxxxxxxxxxxxxxxxxxxx एस 111110 xxxxxxxxxxxxxxxxxxxxxxxxxxx एस 111111 xxxxxxxxxxxxxxxxxxxxxxxxx
 * यदि महत्व से शुरू होता है, अग्रणी 0 बिट को छोड़ने से महत्व 23 बिट्स में फिट हो जाता है:
 * यदि महत्व से शुरू होता है, अग्रणी 100 बिट्स को छोड़ने से महत्व 21 बिट्स में फिट हो जाता है। घातांक को 2 बिट्स पर स्थानांतरित किया जाता है, और ए   बिट जोड़ी दर्शाती है कि इस फॉर्म का उपयोग किया जा रहा है:
 * अनंत, शांत NaN और सिग्नलिंग NaN से शुरू होने वाले एन्कोडिंग का उपयोग करते हैं :

कोष्ठक में दिखाए गए बिट्स अंतर्निहित हैं: वे डेसीमल32 एन्कोडिंग के 32 बिट्स में शामिल नहीं हैं, लेकिन साइन बिट के बाद दो बिट्स द्वारा निहित हैं।

दशमलव64 और दशमलव128 एन्कोडिंग में बड़े घातांक और महत्व क्षेत्र हैं, लेकिन वे समान तरीके से काम करते हैं।

दशमलव128 एन्कोडिंग के लिए, 113 बिट महत्व वास्तव में 34 दशमलव अंकों को एन्कोड करने के लिए पर्याप्त है, और दूसरे फॉर्म की वास्तव में कभी आवश्यकता नहीं होती है।

समूह
एक दशमलव फ़्लोटिंग पॉइंट संख्या को कई तरीकों से एन्कोड किया जा सकता है, विभिन्न तरीके अलग-अलग सटीकता का प्रतिनिधित्व करते हैं, उदाहरण के लिए 100.0 को 1000×10 के रूप में एन्कोड किया गया है−1, जबकि 100.00 को 10000×10 के रूप में एन्कोड किया गया है−2. समान संख्यात्मक मान के संभावित एन्कोडिंग के सेट को मानक में एक समूह कहा जाता है। यदि गणना का परिणाम सटीक नहीं है, तो सबसे बड़े पूर्णांक वाले कोहोर्ट सदस्य का चयन करके महत्वपूर्ण डेटा की सबसे बड़ी मात्रा को संरक्षित किया जाता है, जिसे आवश्यक घातांक के साथ महत्व में संग्रहीत किया जा सकता है।

रेंज
प्रस्तावित IEEE 754r मानक संख्याओं की सीमा को फॉर्म 10 के महत्व तक सीमित करता हैn−1, जहां n पूरे दशमलव अंकों की संख्या है जिसे उपलब्ध बिट्स में संग्रहीत किया जा सकता है ताकि दशमलव गोलाई सही ढंग से प्रभावित हो।

प्रदर्शन
बाइनरी एन्कोडिंग दशमलव-एन्कोडेड डेटा, जैसे स्ट्रिंग्स (एएससीआईआई, यूनिकोड, आदि) और बाइनरी-कोडित दशमलव में या उससे रूपांतरण के लिए स्वाभाविक रूप से कम कुशल है। इसलिए बाइनरी एन्कोडिंग को केवल तभी चुना जाता है जब डेटा दशमलव के बजाय बाइनरी हो। आईबीएम ने कुछ असत्यापित प्रदर्शन डेटा प्रकाशित किया है।

यह भी देखें

 * आईईईई 754