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

From Vigyanwiki
(Text)
Line 25: Line 25:


  s 1110eeeeee (100)m mmmmmmmmmm mmmmmmmmmm
  s 1110eeeeee (100)m mmmmmmmmmm mmmmmmmmmm
* अनंत, शांत NaN और सिग्नलिंग NaN से प्रारम्भ होने वाले एन्कोडिंग का उपयोग करते हैं <code>s 1111</code>:
* अनंत, क्वाइट [https://alpha.indicwiki.in/%E0%A4%8F%E0%A4%A8%E0%A4%8F%E0%A4%8F%E0%A4%A8 नेन] और सिग्नलिंग नेन <code>s 1111</code> से आरंभ होने वाले एन्कोडिंग का उपयोग करते हैं :
  एस 11110 xxxxxxxxxxxxxxxxxxxxxxxxxxx
  s 11110 xxxxxxxxxxxxxxxxxxxxxxxxxx
  एस 111110 xxxxxxxxxxxxxxxxxxxxxxxxxxx
  s 111110 xxxxxxxxxxxxxxxxxxxxxxxxx
  एस 111111 xxxxxxxxxxxxxxxxxxxxxxxxx
  s 111111 xxxxxxxxxxxxxxxxxxxxxxxxx


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


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


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


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


==रेंज==
==रेंज==
प्रस्तावित IEEE 754r मानक संख्याओं की सीमा को फॉर्म 10 के अपूर्णांश तक सीमित करता है<sup>n</sup>−1, जहां n पूरे दशमलव अंकों की संख्या है जिसे उपलब्ध बिट्स में संग्रहीत किया जा सकता है ताकि दशमलव गोलाई सही ढंग से प्रभावित हो।
प्रस्तावित आईईईई 754r मानक संख्याओं की सीमा को फॉर्म 10<sup>n</sup>−1 के अपूर्णांश तक सीमित करता है, जहां n पूरे दशमलव अंकों की संख्या है जिसे उपलब्ध बिट्स में संग्रहीत किया जा सकता है ताकि दशमलव रॉउंडिंग सही ढंग से प्रभावित हो।
 
{| class="wikitable" style="text-align:right"
{| class="wikitable" style="text-align:right"
|-
|-
|
|
! 32 bit
! 32 बिट
! 64 bit
! 64 बिट
! 128 bit
! 128 बिट
|-
|-
! Storage bits
! स्टोरेज बिट्स
| 32
| 32
| 64
| 64
| 128
| 128
|-
|-
! Trailing Significand bits
! Trailing Significand बिट्स
| 20
| 20
| 50
| 50
| 110
| 110
|-
|-
! Significand bits
! Significand बिट्स
| 23/24
| 23/24
| 53/54
| 53/54
Line 68: Line 69:
| 34
| 34
|-
|-
! Combination bits
! Combination बिट्स
| 11
| 11
| 13
| 13
| 17
| 17
|-
|-
! Exponent bits
! Exponent बिट्स
| 8
| 8
| 10
| 10

Revision as of 16:45, 20 July 2023

आईईईई 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
  • अनंत, क्वाइट नेन और सिग्नलिंग नेन s 1111 से आरंभ होने वाले एन्कोडिंग का उपयोग करते हैं :
s 11110 xxxxxxxxxxxxxxxxxxxxxxxxxx
s 111110 xxxxxxxxxxxxxxxxxxxxxxxxx
s 111111 xxxxxxxxxxxxxxxxxxxxxxxxx

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

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

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

कोहोर्ट

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

रेंज

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

32 बिट 64 बिट 128 बिट
स्टोरेज बिट्स 32 64 128
Trailing Significand बिट्स 20 50 110
Significand बिट्स 23/24 53/54 113
Significand digits 7 16 34
Combination बिट्स 11 13 17
Exponent बिट्स 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".


अग्रिम पठन