2010-09-17 9 views
11

संभव डुप्लिकेट:
What are bitwise operators?क्या हैं | और^ऑपरेटरों के लिए इस्तेमाल किया?

हाल ही में मैं कुछ नमूने है कि इस्तेमाल किया में आए | और^ऑपरेटर। मुझे लगता है कि ये or और negation ऑपरेटर हैं।

तो वास्तव में इन ऑपरेटरों का क्या अर्थ है?

+0

इसे – Simsons

+2

बंद करने के लिए क्यों वोट दिया गया है यह एक डुप्ली –

+0

होना चाहिए और भी नीचे हटाना है !!!! – Simsons

उत्तर

17

है, वे बिटवाइज़ या और XOR ऑपरेटर हैं। हालांकि यदि आप उन्हें बूलियन प्रकारों पर लागू करते हैं, तो वे तार्किक या xor हैं। or operator का एक विवरण पर देखो और xor operator

आप विकिपीडिया से बूलियन कार्यों पर अधिक जानकारी प्राप्त कर सकते हैं truth table

25
  • | = (बिटवाइज़/गैर-कम-सर्किटिंग) "या"
  • ^ = "XOR"

और जानकारी के लिए, "नहीं" (बिटवाइज़ निषेध) ~

-6
है

^ तार्किक XOR

| तार्किक या

+०१२३५१६४१०६१

अद्यतन

सी # में

अपने तर्क भी संचालन:

Console.WriteLine(true^false); // logical exclusive-or 
    Console.WriteLine(false^false); // logical exclusive-or 
+6

-1 इनमें से कोई भी तार्किक ऑपरेटरों नहीं हैं। वे दोनों बिटवाइज़ हैं ... और आपने एक्सओआर और ओआर मिश्रित किया है। –

+2

एक्सओआर प्राप्त करने से पीछे और पीछे की ओर एमएसडीएन आलेख को ऊपर से सूचीबद्ध किया गया है, दोनों को लॉजिकल –

+0

माइकल, लॉजिकल या ऑपरेटर के रूप में सूचीबद्ध करें। सी/सी ++, इस साइट के नीचे नोट करें (तार्किक और बिटवाई के बीच अंतर बताता है) http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=/com.ibm.xlcpp8a.doc /language/ref/logore.htm –

7

MSDN पर सभी सी # ऑपरेटरों पर प्रलेखन है:

http://msdn.microsoft.com/en-us/library/6a71f45d.aspx


संपादित करें - जॉन बी टिप्पणी की कि लिंक किए गए दस्तावेज से एक प्रासंगिक उद्धरण ntation उपयोगी होगा।

|Logical OR operator है।

बाइनरी | ऑपरेटरों को अभिन्न प्रकार और बूल के लिए पूर्वनिर्धारित किया जाता है। अभिन्न प्रकार के लिए, | bitwise या इसके संचालन की गणना करता है। बूल ऑपरेंड के लिए, | तार्किक या उसके संचालन की गणना करता है; यानी, परिणाम झूठा है अगर केवल तभी होता है जब उसके दोनों ऑपरेशन झूठे हैं।

^Logical XOR operator है।

बाइनरी^ऑपरेटर अभिन्न प्रकार और बूल के लिए पूर्वनिर्धारित हैं। अभिन्न प्रकारों के लिए,^बिटवाईव अनन्य-या इसके संचालन की गणना करता है। बूल ऑपरेंड के लिए,^तार्किक अनन्य या उसके संचालन की गणना करता है; यही है, परिणाम सही है अगर केवल तभी होता है जब उसके ऑपरेटरों में से एक सच है।

+1

-1 दस्तावेज़ों के लिए एक लिंक पोस्ट करना कोई जवाब नहीं है। –

+1

या यह है ... =)) – Cipi

+1

@ जोन बी, तो आप आम तौर पर बार-बार चीजों को दोहराना पसंद करते हैं? एक महान संसाधन का उपयोग क्यों न करें जो पहिया को फिर से आविष्कार करने के बजाय समझाता है? –

2

वे कर रहे हैं तार्किक बिटवाइज़ ऑपरेटर्स

| एक या link

^आप अभिन्न प्रकार के लिए लागू करते हैं तो XOR link

2
अभिन्न प्रकार के साथ

, | थोड़ा सा है या,^थोड़ा सा xor और पूर्णता & के लिए थोड़ा सा है और।

बुलियन प्रकार के साथ, | एक बुलियन या^^ एक बूलियन xor और & एक बूलियन & है।

तुलना में, || एक शॉर्ट-सर्किट बूलियन है या - यदि पहला ऑपरेंड सत्य के रूप में मूल्यांकन करता है तो दूसरे ऑपरेंड का मूल्यांकन नहीं किया जाता है। & & एक शॉर्ट-सर्किट बूलियन है और - यदि पहला ऑपरेंड झूठा है, तो दूसरे का मूल्यांकन नहीं किया जाता है। कोई शॉर्ट-सर्किट^नहीं है क्योंकि ऐसा कोई मामला नहीं है जहां दूसरी आवश्यकता का मूल्यांकन नहीं किया जा सके।

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

संपादित करें: संभावित भ्रम का एक स्रोत है, कि कुछ अन्य भाषाओं में अभिन्न प्रकार बूलियन्स के रूप में इस्तेमाल किया जा सकता है (उदाहरण के लिए आप if(53) कर सकते हैं और यह if(true) के रूप में ही है) इस उपरोक्त ऑपरेटर काफी अलग के बीच भेद बनाता है: वे 'वही वही है यदि एक "पूरी तरह से" बूलियन प्रकार का उपयोग किया जाता है (जिसमें इसके संभावित मूल्यों के रूप में केवल सत्य और गलत है) लेकिन अन्यथा नहीं। सी # जानबूझकर ऐसे भाषाओं में मौजूद गलतियों के लिए संभावनाओं को रोकने के लिए अभिन्न प्रकारों पर बुलियन ऑपरेशन की अनुमति नहीं देता है।

संबंधित मुद्दे