ऑफसेट बाइनरी

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

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

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

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

आईईईई 754-2008|फ़्लोटिंग-पॉइंट अंकगणित के लिए आईईईई मानक (आईईईई 754) अपने प्रत्येक IEEE_754#Basic_and_interchange_formats में घातांक भाग के लिए ऑफ़सेट नोटेशन का उपयोग करता है। हालाँकि, असामान्य रूप से, अतिरिक्त 2 का उपयोग करने के बजायn−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.)