शिफ्ट और रोटेशन
बिट हेरफेर
अपने रजिस्टर प्रोसेसिंग को अनुकूलित करें। अल्ट्रा-फास्ट गणितीय गणना से लेकर जटिल संचार प्रोटोकॉल प्रबंधन तक, बिट आंदोलन में महारत हासिल करें।
बिट्स को शिफ्ट या रोटेट क्यों करें?
शिफ्ट और रोटेशन ऑपरेशंस वर्ड के बिट्स को बाएं या दाएं ले जाने की अनुमति देते हैं। उद्योग में, इनका उपयोग संचार टेलीग्राम से सटीक जानकारी निकालने, कन्वेयर पर पुर्जों को ट्रैक करने के लिए शिफ्ट रजिस्टर बनाने, या अत्यधिक प्रदर्शन के साथ 2 की शक्तियों द्वारा गुणा/भाग करने के लिए किया जाता है।
मुख्य अंतर 'बाहर जाने वाले' बिट्स के उपचार में निहित है: जबकि शिफ्ट (Shift) उन्हें त्याग देता है और उन्हें शून्य से बदल देता है, रोटेशन (Rotate) उन्हें वर्ड के दूसरी तरफ वापस फीड करता है, जिससे एक निरंतर गोलाकार लूप बनता है।
शिफ्ट (Shift)
बिट हानि के साथ रैखिक आंदोलन
SHL / SHR — बाएं/दाएं शिफ्ट
SHLयह क्या करता है
इनपुट N द्वारा परिभाषित स्थितियों की संख्या से बिट्स को बाएं (SHL) या दाएं (SHR) ले जाता है। रजिस्टर से बाहर निकलने वाले बिट्स खो जाते हैं, और नए आने वाले बिट्स को 0 पर सेट किया जाता है।
इसका उपयोग कब करें
2 द्वारा तेजी से गुणन (SHL), 2 द्वारा भाग (SHR), या 32-बिट वर्ड में एक विशिष्ट बाइट को अलग करना।
प्रो टिप्स
एक पूर्णांक को 1 बिट बाईं ओर शिफ्ट करना गणितीय इकाई का उपयोग किए बिना उसे 2 से गुणा करने के बराबर है।
साइन किए गए प्रकारों (Int, DInt) के लिए, SHR अक्सर साइन बिट को सुरक्षित रखता है (अंकगणितीय शिफ्ट)।
यदि N वर्ड आकार से अधिक है (जैसे, WORD के लिए N=20), तो परिणाम 0 होगा।
रोटेशन (Rotate)
बिना हानि के गोलाकार आंदोलन
ROL / ROR — बाएं/दाएं रोटेशन
ROLयह क्या करता है
बिट्स को गोलाकार रूप से घुमाता है। एक तरफ से बाहर निकलने वाला बिट (जैसे, ROL के लिए बाईं ओर) तुरंत दूसरी तरफ (दाईं ओर) से प्रवेश करता है। कोई डेटा नहीं खोता है।
इसका उपयोग कब करें
घूमने वाले लाइट पैटर्न बनाना, सरल डेटा एन्क्रिप्शन, या सर्कुलर बफ़र्स (FIFO) का प्रबंधन करना।
प्रो टिप्स
पंपों या मोटरों के समूह में प्राथमिकताओं को बदलने के लिए आदर्श।
शिफ्टिंग के विपरीत, एक पूर्ण रोटेशन (जैसे, WORD के लिए 16 बिट्स) प्रारंभिक मान वापस देता है।
डेटा एक्सचेंजों में बाइट ऑर्डर (Endianness) को पुनर्गठित करने के लिए ROL/ROR का उपयोग करें।
शिफ्ट बनाम रोटेशन: तुलना
अपने डेटा पर प्रभाव को समझना
| गुण | शिफ्ट (SHL/SHR) | रोटेशन (ROL/ROR) |
|---|---|---|
| संरचना | रैखिक | गोलाकार |
| बाहर जाने वाले बिट्स | त्यागे गए (खो गए) | विपरीत दिशा में पुनः प्रवेश |
| आने वाले बिट्स | हमेशा 0 | पुनर्चक्रित बाहर जाने वाले बिट्स |
| गणितीय उपयोग | गुणन / भाग | बिट क्रमपरिवर्तन |
| वास्तविक उदाहरण | पार्ट ट्रैकिंग (कन्वेयर) | चेज़र / अनुक्रमक |
| जोखिम | रजिस्टर खाली होना | कोई नहीं (डेटा सुरक्षित) |
अक्सर पूछे जाने वाले प्रश्न
2 से गुणा करने के बजाय SHL का उपयोग क्यों करें?
SHL निर्देश PLC प्रोसेसर द्वारा MUL ऑपरेशन की तुलना में बहुत तेजी से निष्पादित किया जाता है क्योंकि यह जटिल ALU से गुजरे बिना सीधे रजिस्टर पर काम करता है।
कन्वेयर के लिए शिफ्ट रजिस्टर कैसे बनाएं?
प्रत्येक एनकोडर पल्स पर SHR का उपयोग करें। यदि प्रवेश द्वार पर एक पुर्जा पाया जाता है, तो बिट 0 को 1 पर बाध्य करें। वर्ड को शिफ्ट करके, आप पुर्जे की स्थिति को बिट दर बिट ट्रैक करते हैं।
डेटा प्रकार (Byte, Word, DWord) का क्या प्रभाव पड़ता है?
निर्देश आकार के अनुसार ढल जाता है। Byte पर एक ROR 1 शिफ्ट के बाद बिट 7 को स्थिति 0 पर फिर से प्रकट करेगा। Word पर, बिट 15, 0 पर वापस आ जाएगा।
क्या SCL में वेरिएबल्स को शिफ्ट किया जा सकता है?
हाँ, SHL(IN:=var, N:=n) फ़ंक्शंस के माध्यम से या मानक बिटवाइज़ ऑपरेटरों का उपयोग करके यदि आपका TIA पोर्टल संस्करण इसकी अनुमति देता है।