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

From Vigyanwiki

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

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

प्रारूप

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

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

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

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

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

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

समूह

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

रेंज

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

32 bit 64 bit 128 bit
Storage bits 32 64 128
Trailing Significand bits 20 50 110
Significand bits 23/24 53/54 113
Significand digits 7 16 34
Combination bits 11 13 17
Exponent bits 8 10 14
Bias 101 398 6176
Standard emax 96 384 6144
Standard emin −95 −383 −6143


प्रदर्शन

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


यह भी देखें

संदर्भ

  1. "DRAFT Standard for Floating Point Arithmetic P754" (PDF). 2006-10-04. Retrieved 2007-07-01.[permanent dead link]
  2. "Decimal Library Performance - 1.01".


अग्रिम पठन