सी भाषा में बिटवाइज़ ऑपरेटर

Bitwise Operators C Language



बिटवाइज़ ऑपरेटरों, जिन्हें अक्सर बिट-लेवल कोडिंग के रूप में जाना जाता है, को केवल बिट स्तर पर डेटा की व्याख्या करने के लिए बंद कर दिया गया है। बिटवाइज़ बिट स्तर पर एक या अतिरिक्त बिट पैटर्न और बाइनरी नंबरों पर संचालन करता है। इनका उपयोग संख्यात्मक गणनाओं के अनुमान की प्रगति को तेज करने के लिए किया गया है। इसमें दो नंबर होते हैं, जिनमें से एक 0 होता है और दूसरा 1 होता है। यहां कुछ बिटवाइज ऑपरेटर दिए गए हैं जिनकी चर्चा हम अपने लेख में करेंगे।

अपने Linux सिस्टम से लॉगिन करें और कंसोल टर्मिनल खोलने के लिए Ctrl+Alt+T शॉर्टकट आज़माएँ। सी भाषा में बिटवाइज़ ऑपरेटरों के संचालन के बारे में विस्तार से बताने के लिए हमारे पास कुछ उदाहरण होंगे। आइए प्रत्येक बिटवाइज़ ऑपरेटर को अलग से विस्तृत करें।







बिटवाइज़ और:

बिटवाइज़ ऑपरेटर का उपयोग परिणाम को थोड़ा दोहराने के लिए किया गया है यदि वह बिट दोनों आपसी ऑपरेंड में मौजूद है। सी या सी ++ को 2 ऑपरेंड की आवश्यकता होती है जो प्रदर्शन करते हैं और उन दो पूर्णांकों में से प्रत्येक बिट पर। बिटवाइज़ और परिणाम १ जब दोनों बिट्स का मान १. उसके लिए, हमें निम्न प्रकार से शेल में नैनो निर्देश का उपभोग करना होगा:



$नैनोटेस्ट.सी



बिटवाइज़ और ऑपरेटर के लिए कोड नीचे की छवि में प्रदर्शित किया गया है। आपको बस इतना करना है कि इस कोड को अपनी GNU नैनो संपादक फ़ाइल test.c में वैसे ही लिख दें जैसे वह है। इस कोड में stdio.h हेडर लाइब्रेरी है जिसके बिना हम C प्रोग्रामिंग में कोडिंग नहीं कर सकते। फिर हमने इसके रिटर्न प्रकार के साथ पूर्णांक के रूप में एक मुख्य विधि बनाई है। सी भाषा में, कोड का निष्पादन मुख्य विधि के माध्यम से किया जाता है। इसलिए हमने दो पूर्णांक प्रकार चर, x और y घोषित किए हैं, जिनके अनुसार मान ३५ और १३ हैं। उसके बाद, एक और पूर्णांक चर को इसके मान के रूप में शून्य के साथ निर्दिष्ट किया गया है। हम पहले दो पूर्णांक चर का उपयोग करेंगे और उनके बीच बिटवाइज़ और ऑपरेटर लागू करेंगे। यह कार्य अगली पंक्ति पर किया गया है जहाँ AND ऑपरेटर का उपयोग & के रूप में किया गया है, और परिणामी मान शून्य चर z में संग्रहीत किया जाएगा। फिर हमने टर्मिनल स्क्रीन में परिणामी मान दिखाने के लिए प्रिंट स्टेटमेंट का उपयोग किया है, और मुख्य विधि बंद हो जाती है। GNU शॉर्टकट Ctrl+S का उपयोग करके अपनी फ़ाइल सहेजें और फिर कीबोर्ड टाइपराइटर से Ctrl+X के माध्यम से नैनो संपादक को छोड़ दें।





इसलिए, फ़ाइल को सहेजने के बाद उपरोक्त कोड को संकलित करने का समय आ गया है। फ़ाइल का नाम test.c या जो भी आपने फ़ाइल नाम दिया है उसका उपयोग करते समय अपने कंसोल खोल में जीसीसी निर्देश का प्रयोग करें और एंटर कुंजी दबाएं। आप देख सकते हैं कि यह कोई त्रुटि नहीं दिखाता है; इसका मतलब है कि कोड मैन्युअल रूप से सही है।



$जीसीसीटेस्ट.सी

कोड संकलित करने के बाद, अब कोड को निष्पादित करने का समय आ गया है। इस उद्देश्य के लिए, शेल में बताई गई क्वेरी को चलाएँ। आउटपुट 1 को परिणाम के रूप में दिखा रहा है। इसका मतलब है कि हमारे दोनों पूर्णांक चरों में उनके एक बिट में 1 है। यही कारण है कि यह 1 लौटाता है।

$./ए.आउट

बिटवाइज या:

अब, यह बिटवाइज़ या ऑपरेटर को विस्तृत करने के लिए बदल गया है। बिटवाइज़ ऑपरेटर 1 देता है, जिसके परिणामस्वरूप उसका एक बिट 1 होता है। यदि दो पूर्णांकों के दोनों बिट्स 0 हैं, तो यह 0 प्राप्त करता है। सभी बिट्स प्राप्त करने के बाद, बिट्स का एक सेट उत्पन्न होगा। हमें यह देखना होगा कि उन बिट्स ने किस संख्या का गठन किया। तो, पहले वही test.c दस्तावेज़ खोलें। टाइप करें और फिर नीचे दिखाए गए कोड को Ctrl+S कुंजी का उपयोग करके GNU फ़ाइल में सहेजें। कोड लगभग उपरोक्त बिटवाइज़ और ऑपरेटर उदाहरण के समान ही है। इस बार हमने पूर्णांक x के मान को 47 में बदल दिया है, और हमने OR ऑपरेटर का उपयोग किया है, उदा। | दोनों चर के बीच। कोड संकलित करने के लिए फ़ाइल से बाहर निकलें।

दस्तावेज़ test.c को सफलतापूर्वक निष्पादित करने के बाद, यह 47 आउटपुट बिट दिखाता है।

$./ए.आउट

बिटवाइज एक्सओआर:

बिटवाइज़ ऑपरेटर 1 देता है जब दोनों संख्या बिट्स भिन्न होते हैं। तो जब बिट्स समान होते हैं, तो यह 0 प्राप्त करेगा। ^ ऑपरेटर चिह्न बिटवाइज़ ऑपरेटर का प्रतिनिधित्व करेगा। तो फिर से, दस्तावेज़ खोलें और GNU फ़ाइल संपादक में वही पुराना कोड लिखें। इस बार हम दो पूर्णांक चर के भीतर ^ ऑपरेटरों का उपयोग कर रहे हैं, और परिणाम टर्मिनल में प्रिंट करते समय z चर में संग्रहीत किया जाएगा।

फ़ाइल को संकलित और चलाना test.c परिणाम के रूप में 34 लौटाता है। इसका अर्थ है कि नया पूर्णांक 34 XOR ऑपरेटर द्वारा दो पूर्णांक चरों पर लागू किए जाने के बाद उत्पन्न होता है।

$./ए.आउट

बिटवाइज पूरक:

यह ऑपरेटर केवल एक ही चर पर लागू होगा, और यह बिट संख्या के मान को वापस कर देगा। उदाहरण के लिए, यह 0 बिट को 1 और 1 से 0 बिट में बदल देगा। उसी कोड को उसी फाइल में लिखें लेकिन लाइन 6 में थोड़े बदलाव के साथ। हमने x से z का रिवर्स असाइन किया है।

फ़ाइल संकलित करें और इसे चलाएं। सी में, बिटवाइज़ पूरक के परिणाम को 1 के साथ एक नकारात्मक संकेत के साथ बढ़ा दिया गया है।

लेफ्ट शिफ्ट ऑपरेटर:

यह बिट्स की जगह को कुछ हद तक शिफ्ट कर देगा। नीचे संलग्न छवि में समान कोड प्रदर्शित किया जा सकता है। इस उदाहरण में, हम 2 बिट्स को बाईं ओर शिफ्ट करेंगे।

आउटपुट 188 को नए जेनरेट किए गए मान के रूप में दिखाता है।

$./ए.आउट

राइट शिफ्ट ऑपरेटर:

यह उसी तरह काम करता है जैसे लेफ्ट शिफ्ट काम करता है लेकिन विपरीत दिशा में, जैसा कि नीचे दिए गए कोड में दिखाया गया है।

इस बार हमें 2 बिट्स को दाईं ओर शिफ्ट करने पर आउटपुट के रूप में 11 मिले हैं।

$./ए.आउट

निष्कर्ष:

हमने इस लेख में अपने सी भाषा कोड में सभी बुनियादी 6 बिटवाइज़ ऑपरेटरों को शामिल किया है। मुझे आशा है कि आपको हमारे गाइड से वह मिलेगा जो आप चाहते थे।