ऑफसेट बाइनरी

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

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

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

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

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

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

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

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

संबंधित कोड

 * $$z = \frac{1}{q}\left[\left(\sum_{i=1}^n p_i \times b_i\right) - k\right]$$

यह भी देखें

 * हस्ताक्षरित संख्या अभ्यावेदन
 * द्विआधारी संख्या
 * अतिरिक्त-3
 * अतिरिक्त-128
 * चर घातांक पूर्वाग्रह
 * अतिरिक्त-ग्रे कोड
 * अपनों का पूरक
 * द्विआधारी ऑफसेट वाहक

अग्रिम पठन

 * (NB. Mentions Excess-3, Excess-6, Excess-11, Excess-123.)
 * (NB. Mentions Excess-25, Excess-250.)
 * (NB. Mentions Excess-32, Excess-64, Excess-128, Excess-256, Excess-976, Excess-1023, Excess-1024, Excess-2048, Excess-16384.)
 * (NB. Mentions Excess-64, Excess-500, Excess-512, Excess-1024.)
 * (NB. Mentions Excess-64, Excess-500, Excess-512, Excess-1024.)