ऑफसेट बाइनरी: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 10: Line 10:
[[माइक्रोसॉफ्ट बाइनरी फॉर्मेट|माइक्रोसॉफ्ट द्विआधारी प्रारूप]] में 8-बिट चर घातांक, 1970 और 1980 के दशक में विभिन्न प्रोग्रामिंग भाषाओं (विशेष रूप से [[ बुनियादी |आधारभूत]]) में उपयोग किया जाने वाले एक चल बिन्दु प्रारूप के रूप में, ऑफसेट-129 संकेतन (अतिरिक्त-129) का उपयोग करके कूटबद्‍ध किया गया था।
[[माइक्रोसॉफ्ट बाइनरी फॉर्मेट|माइक्रोसॉफ्ट द्विआधारी प्रारूप]] में 8-बिट चर घातांक, 1970 और 1980 के दशक में विभिन्न प्रोग्रामिंग भाषाओं (विशेष रूप से [[ बुनियादी |आधारभूत]]) में उपयोग किया जाने वाले एक चल बिन्दु प्रारूप के रूप में, ऑफसेट-129 संकेतन (अतिरिक्त-129) का उपयोग करके कूटबद्‍ध किया गया था।


[[चल बिन्दु अंकगणित के लिए IEEE मानक (IEEE 754)]] [[परिशुद्धता के अपने विभिन्न प्रारूपों]] में से प्रत्येक में घातांक भाग के लिए ऑफसेट संकेतन का उपयोग करता है। हालाँकि, असामान्य रूप से, अतिरिक्त 2<sup>n−1</sup> का उपयोग करने के बजाय यह अतिरिक्त 2 <sup>n−1</sup> − 1 (अर्थात अतिरिक्त-15, अतिरिक्त-127, अतिरिक्त-1023, अतिरिक्त-16383) का उपयोग करता है जिसका अर्थ है कि घातांक के अग्रणी (उच्च-क्रम) बिट को उलटने से घातांक दो को सही करने में परिवर्तित नहीं होगा पूरक संकेतन.
[[चल बिन्दु अंकगणित के लिए IEEE मानक (IEEE 754)]] [[परिशुद्धता के अपने विभिन्न प्रारूपों]] में से प्रत्येक में घातांक भाग के लिए ऑफसेट संकेतन का उपयोग करता है। हालाँकि, असामान्य रूप से, अतिरिक्त 2<sup>n−1</sup> का उपयोग करने के बजाय यह अतिरिक्त 2 <sup>n−1</sup> − 1 (अर्थात अतिरिक्त-15, अतिरिक्त-127, अतिरिक्त-1023, अतिरिक्त-16383) का उपयोग करता है जिसका अर्थ है कि घातांक के अग्रणी (उच्च-क्रम) बिट को उलटने से घातांक दो के पूरक संकेतन को सही करने में परिवर्तित नहीं होगा।


ऑफसेट द्विआधारी का उपयोग प्रायः [[ अंकीय संकेत प्रक्रिया ]] (डीएसपी) में किया जाता है। अधिकांश [[एनॉलॉग से डिजिटल परिवर्तित करने वाला उपकरण]] (/डी) और [[डिज़िटल से एनालॉग कन्वर्टर]] (डी/) चिप्स एकध्रुवीय हैं, जिसका अर्थ है कि वे [[द्विध्रुवी संकेत]]ों (धनात्मक और ऋणात्मक दोनों मूल्यों वाले सिग्नल) को संभाल नहीं सकते हैं। इसका एक सरल समाधान ए/डी और डी/ए कनवर्टर की सीमा के आधे के बराबर डीसी ऑफसेट के साथ एनालॉग सिग्नल को पूर्वाग्रहित करना है। परिणामी डिजिटल डेटा फिर ऑफसेट द्विआधारी प्रारूप में समाप्त हो जाता है।<ref name="Chen_1988"/>
ऑफसेट द्विआधारी का उपयोग प्रायः [[ अंकीय संकेत प्रक्रिया |अंकीय संकेत प्रक्रमण]] (डीएसपी) में किया जाता है। अधिकांश [[एनॉलॉग से डिजिटल परिवर्तित करने वाला उपकरण|अनुरूप से अंकीय]] (A/D) और [[डिज़िटल से एनालॉग कन्वर्टर|अंक से अनुरूप रूपांतरित्र]] (D/A) चिप्स एकध्रुवीय होते हैं, जिसका अर्थ है कि वे [[द्विध्रुवी संकेत|द्विध्रुवी संकेतों]] (धनात्मक और ऋणात्मक दोनों मूल्यों वाले संकेत) को संभाल नहीं सकते हैं। इसका एक सरल समाधान ए/डी और डी/ए परिवर्तक की सीमा के आधे के बराबर डीसी ऑफसेट के साथ अनुरूप संकेत को पूर्वाग्रहित करना है। परिणामी डिजिटल डेटा अंततः ऑफसेट द्विआधारी प्रारूप में समाप्त हो जाता है।<ref name="Chen_1988"/>


अधिकांश मानक कंप्यूटर सीपीयू चिप्स ऑफसेट द्विआधारी प्रारूप को सीधे संभाल नहीं सकते हैं{{citation needed|reason=This claim is not cited not supported in the paragraph|date=January 2022}}. सीपीयू चिप्स आम तौर पर केवल हस्ताक्षरित और अहस्ताक्षरित पूर्णांक, और फ़्लोटिंग पॉइंट मान प्रारूपों को संभाल सकते हैं। इन सीपीयू चिप्स द्वारा ऑफसेट द्विआधारी मानों को कई तरीकों से नियंत्रित किया जा सकता है। डेटा को केवल अहस्ताक्षरित पूर्णांक के रूप में माना जा सकता है, जिससे प्रोग्रामर को सॉफ़्टवेयर में शून्य ऑफसेट से निपटने की आवश्यकता होती है। डेटा को केवल शून्य ऑफसेट घटाकर हस्ताक्षरित पूर्णांक प्रारूप (जिसे सीपीयू मूल रूप से संभाल सकता है) में परिवर्तित किया जा सकता है। एन-बिट शब्द के लिए सबसे आम ऑफसेट 2 होने के परिणामस्वरूप<sup>n−1</sup>, जिसका अर्थ है कि पहला बिट दो के पूरक के सापेक्ष उलटा है, एक अलग घटाव चरण की कोई आवश्यकता नहीं है, लेकिन कोई केवल पहले बिट को उलटा कर सकता है। यह कभी-कभी हार्डवेयर में उपयोगी सरलीकरण है, और सॉफ्टवेयर में भी सुविधाजनक हो सकता है।
अधिकांश मानक कंप्यूटर सीपीयू चिप्स ऑफसेट द्विआधारी प्रारूप को सीधे संभाल नहीं सकते हैं{{citation needed|reason=This claim is not cited not supported in the paragraph|date=January 2022}}सीपीयू चिप्स सामान्य तौर पर केवल हस्ताक्षरित और अहस्ताक्षरित पूर्णांक, और चल बिन्दु मान प्रारूपों को संभाल सकते हैं। इन सीपीयू चिप्स द्वारा ऑफसेट द्विआधारी मानों को कई तरीकों से नियंत्रित किया जा सकता है। डेटा को केवल अहस्ताक्षरित पूर्णांक के रूप में माना जा सकता है, जिससे प्रोग्रामर को सॉफ़्टवेयर में शून्य ऑफसेट का सामना करने की आवश्यकता होती है। डेटा को केवल शून्य ऑफसेट घटाकर हस्ताक्षरित पूर्णांक प्रारूप (जिसे सीपीयू मूल रूप से संभाल सकता है) में परिवर्तित किया जा सकता है। एक n-बिट शब्द के लिए सबसे सामान्य ऑफसेट 2<sup>n−1</sup> होने के परिणामस्वरूप, जिसका अर्थ है कि पहला बिट दो के पूरक के सापेक्ष व्युत्क्रमित है, तथा एक अलग घटाव चरण की कोई आवश्यकता नहीं है, लेकिन कोई व्यक्ति पहले बिट को व्युत्क्रमित कर सकता है। यह कभी-कभी हार्डवेयर में उपयोगी सरलीकरण होता है, और सॉफ्टवेयर में भी सुविधाजनक हो सकता है।


तुलना के लिए दो के पूरक के साथ, चार बिट्स के लिए ऑफसेट द्विआधारी की तालिका:<ref name="Intersil_1997"/>
तुलना के लिए [[दो के पूरक]] के साथ, चार बिट्स के लिए ऑफसेट द्विआधारी की तालिका,<ref name="Intersil_1997"/>
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Decimal
! दशमलव
! Offset binary, <br/>''K'' = 8
! ऑफसेट द्विआधारी, <br/>''K'' = 8
! Two's <br/>complement
! दो के
पूरक
|-
|-
| 7
| 7
Line 87: Line 88:
| 1000
| 1000
|}
|}
ऑफसेट द्विआधारी को सबसे महत्वपूर्ण बिट को व्युत्क्रमित करके दो के पूरक में परिवर्तित किया जा सकता है। उदाहरण के लिए, 8-बिट मानों के साथ, ऑफसेट द्विआधारी मान को दो के पूरक में परिवर्तित करने के लिए 0x80 के साथ XORed किया जा सकता है। विशिष्ट हार्डवेयर में बिट को उसके मूल रूप में स्वीकार करना आसान हो सकता है, लेकिन इसके मूल्य को उल्टे महत्व में लागू करना आसान हो सकता है।
ऑफसेट द्विआधारी को सबसे महत्वपूर्ण बिट को व्युत्क्रमित करके दो के पूरक में परिवर्तित किया जा सकता है। उदाहरण के लिए, 8-बिट मानों के साथ, ऑफसेट द्विआधारी मान को दो के पूरक में परिवर्तित करने के लिए 0x80 के साथ XORed किया जा सकता है। विशिष्ट हार्डवेयर में बिट को उसके मूल रूप में स्वीकार करना आसान हो सकता है, साथ ही इसके मूल्य को व्युत्क्रमित महत्व में लागू करना भी आसान हो सकता है।


=={{anchor|Nuding|Diamond}}संबंधित कोड==
==संबंधित कोड==
{{Missing information|section|these tables|date=January 2022}}
{{Missing information|section|these tables|date=January 2022}}
:<math>z = \frac{1}{q}\left[\left(\sum_{i=1}^n p_i \times b_i\right) - k\right]</math><ref name="Dokter_1973"/><ref name="Dokter_1975"/><ref name="Morgenstern_1997"/>
:<math>z = \frac{1}{q}\left[\left(\sum_{i=1}^n p_i \times b_i\right) - k\right]</math><ref name="Dokter_1973"/><ref name="Dokter_1975"/><ref name="Morgenstern_1997"/>

Revision as of 00:16, 18 July 2023

ऑफसेट द्विआधारी,[1] जिसे अतिरिक्त-K,[1]अतिरिक्त-N, अतिरिक्त-e,[2][3]अतिरिक्त कोड या अभिनत प्रतिरूपण, के रूप में भी जाना जाता है, वह हस्ताक्षरित संख्या प्रतिरूपण के लिए एक विधि है जहां एक हस्ताक्षरित संख्या n को अहस्ताक्षरित संख्या n+K के अनुरूप द्वयंक प्रतिरूप द्वारा दर्शाया जाता है, जहाँ K पूर्वाग्रह मान या ऑफ़सेट होता है। ऑफसेट द्विआधारी के लिए कोई मानक नहीं है, लेकिन प्रायः एन-बिट द्विआधारी शब्द के लिए K, K=2n−1होता है (उदाहरण के लिए, चार अंकों वाली द्विआधारी संख्या के लिए ऑफसेट 23=8 होगा)। इसका परिणाम यह होता है कि न्यूनतम ऋणात्मक मान को सभी-शून्य द्वारा दर्शाया जाता है, तथा शून्य मान को सबसे महत्वपूर्ण बिट में 1 और अन्य सभी बिट्स में शून्य द्वारा दर्शाया जाता है, और अधिकतम धनात्मक मान को सभी-बिट द्वारा दर्शाया जाता है (सुविधाजनक रूप से, यह यह दो के पूरक का उपयोग करने के समान है लेकिन सबसे महत्वपूर्ण बिट व्युत्क्रमित है)। इसका परिणाम यह भी होता है कि एक तार्किक तुलना संचालन में, एक वास्तविक स्वरूपी संख्यात्मक तुलना संचालन के समान परिणाम मिलता है, जबकि दो का पूरक संकेतन में एक तार्किक तुलना केवल तभी सहमत होगी जब केवल तुलना की जा रही संख्याएँ एक ही चिह्न वाली हों। अन्यथा तुलना का अर्थ व्युत्क्रमित हो जाएगा, जिससे सभी ऋणात्मक मूल्यों को सभी धनात्मक मूल्यों से बड़ा मान लिया जाएगा।

प्रारंभिक तुल्यकालिक बहुसंकेतन टेलीग्राफ में उपयोग किए जाने वाले 5-बिट बॉडॉट कोड को ऑफसेट-1 (अतिरिक्त-1) प्रतिबिंबित द्विआधारी (ग्रे) कोड के रूप में देखा जा सकता है।

ऑफसेट-64 (अतिरिक्त-64) संकेतन का एक ऐतिहासिक रूप से प्रमुख उदाहरण आईबीएम प्रणाली/360 और प्रणाली/370 पीढ़ी के कंप्यूटरों में चल बिन्दु (चरघातांकी) संकेतन में था। विशेषता (चर घातांक) ने सात-बिट अतिरिक्त-64 संख्या का रूप ले लिया (उसी बाइट के उच्च-क्रम बिट में महत्व का चिह्न सम्मिलित था)।[4]

माइक्रोसॉफ्ट द्विआधारी प्रारूप में 8-बिट चर घातांक, 1970 और 1980 के दशक में विभिन्न प्रोग्रामिंग भाषाओं (विशेष रूप से आधारभूत) में उपयोग किया जाने वाले एक चल बिन्दु प्रारूप के रूप में, ऑफसेट-129 संकेतन (अतिरिक्त-129) का उपयोग करके कूटबद्‍ध किया गया था।

चल बिन्दु अंकगणित के लिए IEEE मानक (IEEE 754) परिशुद्धता के अपने विभिन्न प्रारूपों में से प्रत्येक में घातांक भाग के लिए ऑफसेट संकेतन का उपयोग करता है। हालाँकि, असामान्य रूप से, अतिरिक्त 2n−1 का उपयोग करने के बजाय यह अतिरिक्त 2 n−1 − 1 (अर्थात अतिरिक्त-15, अतिरिक्त-127, अतिरिक्त-1023, अतिरिक्त-16383) का उपयोग करता है जिसका अर्थ है कि घातांक के अग्रणी (उच्च-क्रम) बिट को उलटने से घातांक दो के पूरक संकेतन को सही करने में परिवर्तित नहीं होगा।

ऑफसेट द्विआधारी का उपयोग प्रायः अंकीय संकेत प्रक्रमण (डीएसपी) में किया जाता है। अधिकांश अनुरूप से अंकीय (A/D) और अंक से अनुरूप रूपांतरित्र (D/A) चिप्स एकध्रुवीय होते हैं, जिसका अर्थ है कि वे द्विध्रुवी संकेतों (धनात्मक और ऋणात्मक दोनों मूल्यों वाले संकेत) को संभाल नहीं सकते हैं। इसका एक सरल समाधान ए/डी और डी/ए परिवर्तक की सीमा के आधे के बराबर डीसी ऑफसेट के साथ अनुरूप संकेत को पूर्वाग्रहित करना है। परिणामी डिजिटल डेटा अंततः ऑफसेट द्विआधारी प्रारूप में समाप्त हो जाता है।[5]

अधिकांश मानक कंप्यूटर सीपीयू चिप्स ऑफसेट द्विआधारी प्रारूप को सीधे संभाल नहीं सकते हैं[citation needed]। सीपीयू चिप्स सामान्य तौर पर केवल हस्ताक्षरित और अहस्ताक्षरित पूर्णांक, और चल बिन्दु मान प्रारूपों को संभाल सकते हैं। इन सीपीयू चिप्स द्वारा ऑफसेट द्विआधारी मानों को कई तरीकों से नियंत्रित किया जा सकता है। डेटा को केवल अहस्ताक्षरित पूर्णांक के रूप में माना जा सकता है, जिससे प्रोग्रामर को सॉफ़्टवेयर में शून्य ऑफसेट का सामना करने की आवश्यकता होती है। डेटा को केवल शून्य ऑफसेट घटाकर हस्ताक्षरित पूर्णांक प्रारूप (जिसे सीपीयू मूल रूप से संभाल सकता है) में परिवर्तित किया जा सकता है। एक n-बिट शब्द के लिए सबसे सामान्य ऑफसेट 2n−1 होने के परिणामस्वरूप, जिसका अर्थ है कि पहला बिट दो के पूरक के सापेक्ष व्युत्क्रमित है, तथा एक अलग घटाव चरण की कोई आवश्यकता नहीं है, लेकिन कोई व्यक्ति पहले बिट को व्युत्क्रमित कर सकता है। यह कभी-कभी हार्डवेयर में उपयोगी सरलीकरण होता है, और सॉफ्टवेयर में भी सुविधाजनक हो सकता है।

तुलना के लिए दो के पूरक के साथ, चार बिट्स के लिए ऑफसेट द्विआधारी की तालिका,[6]

दशमलव ऑफसेट द्विआधारी,
K = 8
दो के

पूरक

7 1111 0111
6 1110 0110
5 1101 0101
4 1100 0100
3 1011 0011
2 1010 0010
1 1001 0001
0 1000 0000
−1 0111 1111
−2 0110 1110
−3 0101 1101
−4 0100 1100
−5 0011 1011
−6 0010 1010
−7 0001 1001
−8 0000 1000

ऑफसेट द्विआधारी को सबसे महत्वपूर्ण बिट को व्युत्क्रमित करके दो के पूरक में परिवर्तित किया जा सकता है। उदाहरण के लिए, 8-बिट मानों के साथ, ऑफसेट द्विआधारी मान को दो के पूरक में परिवर्तित करने के लिए 0x80 के साथ XORed किया जा सकता है। विशिष्ट हार्डवेयर में बिट को उसके मूल रूप में स्वीकार करना आसान हो सकता है, साथ ही इसके मूल्य को व्युत्क्रमित महत्व में लागू करना भी आसान हो सकता है।

संबंधित कोड

[2][3][7]
Code comparison[2][3][7]
Code Type Parameters Weights Distance Checking Complement Groups of 5 Simple addition
Offset, k Width, n Factor, q
8421 code n[8] 0 4 1 8 4 2 1 1–4 No No No No
Nuding code[8][9] 3n + 2[8] 2 5 3 2–5 Yes 9 Yes Yes
Stibitz code[10] n + 3[8] 3 4 1 8  4 −2 −1 1–4 No 9 Yes Yes
Diamond code[8][11] 27n + 6[8][12][13] 6 8 27 3–8 Yes 9 Yes Yes
25n + 15[12][13] 15 8 25 3+ Yes Yes ? Yes
23n + 24[12][13] 24 8 23 3+ Yes Yes ? Yes
19n + 42[12][13] 42 8 19 3–8 Yes 9 Yes Yes
Decimal
 
0
1
2
3
4
5
6
7
8
9
8421
4 3 2 1
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
Stibitz[10]
4 3 2 1
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
Nuding[8][9]
5 4 3 2 1
0 0 0 1 0
0 0 1 0 1
0 1 0 0 0
0 1 0 1 1
0 1 1 1 0
1 0 0 0 1
1 0 1 0 0
1 0 1 1 1
1 1 0 1 0
1 1 1 0 1
Diamond[8]
8 7 6 5 4 3 2 1
0 0 0 0 0 1 1 0
0 0 1 0 0 0 0 1
0 0 1 1 1 1 0 0
0 1 0 1 0 1 1 1
0 1 1 1 0 0 1 0
1 0 0 0 1 1 0 1
1 0 1 0 1 0 0 0
1 1 0 0 0 0 1 1
1 1 0 1 1 1 1 0
1 1 1 1 1 0 0 1
19n + 42[12][13]
8 7 6 5 4 3 2 1
0 0 1 0 1 0 1 0
0 0 1 1 1 1 0 1
0 1 0 1 0 0 0 0
0 1 1 0 0 0 1 1
0 1 1 1 0 1 1 0
1 0 0 0 1 0 0 1
1 0 0 1 1 1 0 0
1 0 1 0 1 1 1 1
1 1 0 0 0 0 1 0
1 1 0 1 0 1 0 1

यह भी देखें

संदर्भ

  1. 1.0 1.1 Chang, Angela; Chen, Yen; Delmas, Patrice (2006-03-07). "2.5.2: Data Representation: Offset binary representation (Excess-K)". COMPSCI 210S1T 2006 (PDF). Department of Computer Science, The University of Auckland, NZ. p. 18. Retrieved 2016-02-04.
  2. 2.0 2.1 2.2 Dokter, Folkert; Steinhauer, Jürgen (1973-06-18). Digital Electronics. Philips Technical Library (PTL) / Macmillan Education (Reprint of 1st English ed.). Eindhoven, Netherlands: The Macmillan Press Ltd. / N. V. Philips' Gloeilampenfabrieken. p. 44. doi:10.1007/978-1-349-01417-0. ISBN 978-1-349-01419-4. SBN 333-13360-9. Retrieved 2018-07-01. (270 pages) (NB. This is based on a translation of volume I of the two-volume German edition.)
  3. 3.0 3.1 3.2 Dokter, Folkert; Steinhauer, Jürgen (1975) [1969]. "2.4.4.4. Exzeß-e-Kodes". Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Theoretische Grundlagen und Schaltungstechnik. Philips Fachbücher (in Deutsch). Vol. I (improved and extended 5th ed.). Hamburg, Germany: Deutsche Philips GmbH. pp. 51, 53–54. ISBN 3-87145-272-6. (xii+327+3 pages) (NB. The German edition of volume I was published in 1969, 1971, two editions in 1972, and 1975. Volume II was published in 1970, 1972, 1973, and 1975.)
  4. IBM System/360 Principles of Operation Form A22-6821. Various editions available on the WWW.[page needed]
  5. Electrical and Computer Science Department, Southeastern Massachusetts University, North Dartmouth, MA, USA (1988). Chen, Chi-hau (ed.). Signal Processing Handbook. New York, USA: Marcel Dekker, Inc./CRC Press. ISBN 0-8247-7956-8. Retrieved 2016-02-04.
  6. "Data Conversion Binary Code Formats" (PDF). Intersil Corporation (published 2000). May 1997. AN9657.1. Retrieved 2016-02-04.
  7. 7.0 7.1 Morgenstern, Bodo (January 1997) [July 1992]. "10.5.3.5 Excess-e-Code". Elektronik: Digitale Schaltungen und Systeme. Studium Technik (in Deutsch). Vol. 3 (revised 2nd ed.). Friedrich Vieweg & Sohn Verlagsgesellschaft mbH. pp. 120–121. doi:10.1007/978-3-322-85053-9. ISBN 978-3-528-13366-5. Retrieved 2020-05-26. (xviii+393 pages)
  8. 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 Diamond, Joseph M. (April 1955) [1954-11-12]. "Checking Codes for Digital Computers". Proceedings of the IRE. Correspondence. New York, USA. 43 (4): 483–490 [487–488]. doi:10.1109/JRPROC.1955.277858. eISSN 2162-6634. ISSN 0096-8390. Archived from the original on 2020-05-26. Retrieved 2020-05-26. (2 pages) (NB. The results discussed in this report are