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

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

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

प्रारूप
इस तथ्य का उपयोग करते हुए कि 210 = 1024, 103 = 1000 से थोड़ा ही अधिक है, 3एन-अंकीय दशमलव संख्याओं को कुशलतापूर्वक 10n बाइनरी बिट्स में पैक किया जा सकता है। हालाँकि, 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