साइन एक्सटेंशन

साइन एक्सटेंशन (सेक्स्ट के रूप में संक्षिप्त) ऑपरेशन है, कंप्यूटर अंकगणित में, संख्या के संकेत (गणित) को संरक्षित करते हुए बाइनरी संख्या  के  अंश ्स की संख्या बढ़ाने के लिए | साइन (सकारात्मक/नकारात्मक) और मान। यह उपयोग किए गए विशेष हस्ताक्षरित संख्या प्रतिनिधित्व पर निर्भर प्रक्रिया के बाद, संख्या के सबसे महत्वपूर्ण बिट पक्ष में अंकों को जोड़कर किया जाता है।

उदाहरण के लिए, यदि संख्या का प्रतिनिधित्व करने के लिए छह बिट्स का उपयोग किया जाता है (दशमलव सकारात्मक 10) और साइन एक्सटेंड ऑपरेशन वर्ड (डेटा प्रकार) को 16 बिट तक बढ़ा देता है, फिर नया प्रतिनिधित्व बस होता है. इस प्रकार, मूल्य और तथ्य दोनों कि मूल्य धनात्मक था बनाए रखा जाता है।

यदि मूल्य का प्रतिनिधित्व करने के लिए दस बिट्स का उपयोग किया जाता है (दशमलव ऋणात्मक 15) दो के पूरक का उपयोग करते हुए, और यह चिन्ह 16 बिट तक बढ़ाया गया है, नया प्रतिनिधित्व है. इस प्रकार, बाईं ओर एक के साथ पैडिंग करके, ऋणात्मक चिह्न और मूल संख्या का मान बनाए रखा जाता है।

इंटेल x86 निर्देश सूची में, उदाहरण के लिए, साइन एक्सटेंशन करने के दो तरीके हैं:
 * निर्देशों का उपयोग करना,  ,  , और  : बाइट को शब्द में, शब्द को डबलवर्ड में, शब्द को विस्तारित डबलवर्ड में, और डबलवर्ड को क्वाडवर्ड में परिवर्तित करें, क्रमशः (x86 संदर्भ में एक बाइट में 8 बिट्स, एक शब्द 16 बिट्स, एक डबलवर्ड और विस्तारित डबलवर्ड 32 बिट्स और एक क्वाडवर्ड 64 बिट्स हैं। );
 * साइन विस्तारित चालों में से एक का उपयोग करके, द्वारा पूरा किया गया   (साइन एक्सटेंशन के साथ आगे बढ़ें) निर्देशों का परिवार।

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

X86 और x64 निर्देश सेट में,  निर्देश (शून्य विस्तार के साथ चलें) इस कार्य को करता है। उदाहरण के लिए,   से एक बाइट कॉपी करता है   के लो-ऑर्डर बाइट में रजिस्टर करें   और फिर के शेष बाइट भरता है   शून्य के साथ।

X64 पर, अधिकांश निर्देश जो किसी भी सामान्य-उद्देश्य वाले रजिस्टरों के निचले 32 बिट्स की संपूर्णता को लिखते हैं, गंतव्य रजिस्टर के ऊपरी आधे हिस्से को शून्य कर देंगे। उदाहरण के लिए, निर्देश  के ऊपरी 32 बिट्स को साफ कर देगा   पंजीकरण करवाना।

यह भी देखें

 * अंकगणितीय बदलाव और तार्किक बदलाव

संदर्भ

 * Mano, Morris M.; Kime, Charles R. (2004). Logic and Computer Design Fundamentals (3rd ed.), pp 453. Pearson Prentice Hall. ISBN 0-13-140539-X.

टिप्पणियाँ
Zweierkomplement [[ru:Дополнительный код (представление числа)#Расширение зна