अनुशंसित, 2019

संपादक की पसंद

और & के बीच अंतर &&

"&" और "&&" दोनों ही ऑपरेटर हैं, जिनका उपयोग सशर्त विवरणों का मूल्यांकन करने के लिए किया जाता है। ऑपरेटर एक तार्किक और साथ ही एक बिटवाइज़ ऑपरेटर है। && ऑपरेटर विशुद्ध रूप से एक लॉजिकल ऑपरेटर है। & && ऑपरेटर के बीच मूल अंतर यह है कि & ऑपरेटर अभिव्यक्ति के दोनों किनारों का मूल्यांकन करता है, जबकि, && ऑपरेटर अंतिम परिणाम प्राप्त करने के लिए केवल बाईं ओर के अभिव्यक्ति का मूल्यांकन करता है। तुलना चार्ट की सहायता से & && के बीच के अन्य अंतरों को समझते हैं।

तुलना चार्ट

तुलना के लिए आधारऔर&&
ऑपरेटरयह एक "बिटवाइज़ ऑपरेटर" है।यह एक "लॉजिकल ऑपरेटर" है।
मूल्यांकनयह अभिव्यक्ति के बाएँ और दाएँ दोनों पक्षों का मूल्यांकन करता है।यह केवल अभिव्यक्ति के बाईं ओर का मूल्यांकन करता है।
पर संचालित होता हैयह "बूलियन डेटाटाइप" के साथ-साथ "बिट्स" पर संचालित होता है।यह केवल "बूलियन डेटाटाइप" पर संचालित होता है।
उपयोगतार्किक स्थिति की जांच करने के लिए उपयोग करें और कुछ बिट्स जैसे पैरिटी बिट्स को बंद करने के लिए भी उपयोग किया जाता है।इसका उपयोग केवल तार्किक स्थिति की जांच के लिए किया जाता है।

& (बिटवाइज़ एंड) की परिभाषा

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

हमें इसे एक उदाहरण से समझते हैं।

 int a = 4, b = 5; system.out.println ((a == 6) और (b ++ == 6)); system.out.println ("b =" + b); // आउटपुट गलत b = 5 

यहां, अभिव्यक्ति के बाईं ओर का मूल्यांकन करने पर (a == 6), इसका परिणाम गलत होता है, और ऑपरेटर इसके बाद अभिव्यक्ति के दाईं ओर का मूल्यांकन करता है (b ++ == 6) परिणामस्वरूप, बी वेतन वृद्धि का मूल्य।

जब 'और' का उपयोग "बिटवाइज़ ऑपरेटर" के रूप में किया जाता है, तो यह पहले दोनों ऑपरेंड को बाइनरी फॉर्म में परिवर्तित करता है और फिर बिट-बाय-बिट का उपयोग करते हुए और ऑपरेटर पर काम करता है। ऑपरेशन के बाद, प्राप्त परिणाम द्विआधारी रूप में होता है, जिसे बाद में दशमलव में बदल दिया जाता है। किसी भी बिट 0 को ऑपरेंड में से किसी एक में 0 परिणाम मिलता है। यदि दोनों ऑपरेंड के बिट्स 1 हैं, तो परिणामी बिट 1 है। बिटवाइज़ और ऑपरेटर को उसी सत्य सारणी द्वारा नियंत्रित किया जाता है, जैसा कि उसके तार्किक और ऑपरेटर द्वारा।

आइए हम & ऑपरेटर के बिटवाइज़ ऑपरेशन देखें।

 int a; a = 3 & 4; // 011 और 100 = 000 system.out.println ("a =" + a); // आउटपुट a = 0 

यहाँ, दशमलव मान 3 और 4 को शुरू में उनके बाइनरी रूप में परिवर्तित किया गया है, और फिर बिट-बिट ऑपरेटर उन पर बिट-बाय-बिट का संचालन करते हैं। प्राप्त परिणाम द्विआधारी रूप में है, जिसे बाद में फिर से दशमलव रूप में परिवर्तित किया जाता है।

&& (लघु-परिपथ और) की परिभाषा

यह && ऑपरेटर पूरी तरह से तार्किक ऑपरेटर के रूप में काम करता है। यह केवल बूलियन डेटा प्रकार पर संचालित होता है। इसे शॉर्ट-सर्किट ऑपरेटर भी कहा जाता है। जैसा कि यह केवल अभिव्यक्ति के बाएँ हाथ की जाँच करता है। यदि अभिव्यक्ति के बाएं हाथ की तरफ गलत परिणाम होता है, तो यह अभिव्यक्ति के दाहिने हाथ की ओर के मूल्यांकन के बारे में परेशान नहीं करता है।

हमें एक उदाहरण के साथ && ऑपरेटर के कार्य को समझने की सुविधा देता है।

 int a = 4, b = 5; system.out.println ((a == 6) && (b ++ == 6)); system.out.println ("b =" + b); // आउटपुट मिथ्या बी = 4 

यहां, जैसा कि स्थिति (a == 6) गलत है, && ऑपरेटर अभिव्यक्ति का मूल्यांकन नहीं करता है (b ++ == 6) परिणामस्वरूप, b का मूल्य वृद्धि नहीं करता है।

& && के बीच मुख्य अंतर

  1. & ऑपरेटर एक तार्किक होने के साथ-साथ एक बिटवाइज़ ऑपरेटर भी है, क्योंकि यह दोनों बूलियनों के साथ-साथ बाइनरी डेटा पर भी काम करता है, जबकि && ऑपरेटर केवल एक लॉजिकल ऑपरेटर है, क्योंकि यह केवल बूलियन डेटा प्रकार पर काम करता है।
  2. अंतिम परिणाम प्राप्त करने के लिए & ऑपरेटर अभिव्यक्ति के दोनों ओर मूल्यांकन करता है, जबकि, && ऑपरेटर केवल बाईं ओर के अभिव्यक्ति का मूल्यांकन करता है और यदि गलत निकला तो यह अभिव्यक्ति के दाईं ओर का मूल्यांकन भी नहीं करता है।

ध्यान दें:

बूलियन डेटाटाइप का मूल्यांकन करते समय, दोनों ऑपरेटर केवल "सही" परिणाम देते हैं, यदि दोनों ऑपरेंड सत्य हैं, अन्यथा यह "गलत" रिटर्न करता है।

निष्कर्ष:

& && ऑपरेटर, दोनों का उपयोग बूलियन स्थिति का मूल्यांकन करने के लिए किया जाता है जबकि, और ऑपरेटर का उपयोग बिटवाइज़ ऑपरेशन के लिए भी किया जाता है। जब हमें अभिव्यक्ति के दोनों ओर मूल्यांकन करना होता है तो ऑपरेटर का उपयोग किया जाता है और हम && ऑपरेटर का उपयोग कर सकते हैं।

Top