ऑफसेट (कंप्यूटर विज्ञान)
This article does not cite any sources. (October 2015) (Learn how and when to remove this template message) |
कंप्यूटर विज्ञान में, एक [[सरणी डेटा संरचना]] या अन्य डेटा संरचना वस्तु के भीतर एक ऑफसेट एक पूर्णांक (कंप्यूटर विज्ञान) है जो वस्तु की शुरुआत और दिए गए तत्व या बिंदु के बीच की दूरी (विस्थापन) को इंगित करता है, संभवतः उसी वस्तु के भीतर। दूरी की अवधारणा तभी मान्य है जब वस्तु के सभी तत्व समान आकार के हों (आमतौर पर बाइट-एड्रेसेबल या शब्द-पता करने योग्य में दिए गए)।
उदाहरण के लिए, अगर A
वर्णों का एक सरणी डेटा प्रकार है "abcdef"
, चरित्र युक्त चौथा तत्व 'd'
की शुरुआत से तीन का ऑफसेट है A
.
सभा की भाषा में
कंप्यूटर इंजीनियरिंग और निम्न-स्तरीय प्रोग्रामिंग (जैसे असेंबली लैंग्वेज) में, ऑफ़सेट आमतौर पर एक विशिष्ट निरपेक्ष पते पर जाने के लिए आधार पते में जोड़े गए पता स्थानों की संख्या को दर्शाता है। ऑफसेट के इस (मूल) अर्थ में, ऑफसेट के आकार को निर्दिष्ट करने के लिए केवल मूल पता इकाई, आमतौर पर 8-बिट बाइट का उपयोग किया जाता है। इस संदर्भ में ऑफ़सेट को कभी-कभी सापेक्ष पता कहा जाता है।
आईबीएम सिस्टम/360 निर्देशों में, कुछ निर्देशों के भीतर एम्बेडेड 12-बिट ऑफ़सेट ने 0 और 4096 बाइट्स के बीच की सीमा प्रदान की। उदाहरण के लिए, एक बिना शर्त शाखा निर्देश (X'47F0Fxxx') के भीतर, xxx 12 बिट हेक्साडेसिमल ऑफ़सेट ने आधार रजिस्टर (15) से शाखा को बाइट ऑफ़सेट प्रदान किया। एक विषम ऑफ़सेट एक कार्यक्रम की जाँच जाँच का कारण होगा (जब तक कि आधार रजिस्टर में भी एक अजीब पता न हो) - चूंकि निर्देशों को प्रोग्राम या हार्डवेयर बाधा के बिना निष्पादित करने के लिए आधे-शब्द सीमाओं पर संरेखित किया जाना था।
पिछला उदाहरण खंड के प्रारूप में स्मृति स्थान को संबोधित करने के अप्रत्यक्ष तरीके का वर्णन करता है: ऑफ़सेट। उदाहरण के लिए, मान लें कि हम स्मृति स्थान 0xF867 को संदर्भित करना चाहते हैं। इसे पूरा करने का एक तरीका यह है कि पहले 0xF000 के शुरुआती पते के साथ एक खंड को परिभाषित किया जाए, और फिर 0x0867 के ऑफसेट को परिभाषित किया जाए। इसके अलावा, हमें अंतिम निरपेक्ष स्मृति पते तक पहुंचने के लिए हेक्साडेसिमल खंड को स्थानांतरित करने की भी अनुमति है। यहां एक बात ध्यान देने वाली है कि हम अपने अंतिम निरपेक्ष पते पर कई तरह से पहुंच सकते हैं।
ऑफ़सेट हमेशा मॉड्यूल के आधार पते से संबंधित नहीं होता है, उदाहरण के लिए: यदि आपके पास एक वर्ग (GUI) है और आप इस वर्ग की रंग विशेषता को पुनः प्राप्त करना चाहते हैं, तो ऑफ़सेट 0x0100 हो सकता है, लेकिन इस ऑफ़सेट को जोड़ना होगा कक्षा के ऑफ़सेट के लिए ही, आधार पता नहीं। यदि वर्ग का ऑफसेट 0xFF881 है और आधार पता 0x0A100 है, तो रंग विशेषता को पुनः प्राप्त करने के लिए दोनों ऑफसेट को आधार पते में जोड़ा जाता है। 0x0A100 (आधार) + 0xFF881 (वर्ग) + 0x0100 (विशेषता)। अंततः विशेषता का पता 0x109A81 होगा।
यह भी देखें
- सरणी (डेटा संरचना) #Element_identifier_and_addressing_formulas
श्रेणी:कंप्यूटर मेमोरी