ऑफसेट बाइनरी

ऑफसेट द्विआधारी, जिसे अतिरिक्त-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) का उपयोग करता है जिसका अर्थ है कि घातांक के अग्रणी (उच्च-क्रम) बिट को उलटने से घातांक दो के पूरक संकेतन को सही करने में परिवर्तित नहीं होगा।

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

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