के 5 बिट्स आप ISO/IEC 23270:2006 — Information technology — Programming languages — C# के अपने काम की नकल करने के लिए बारी शून्य और § 14.6 को चालू करने के लिए रखने के लिए प्रयोग किया जाता है। पवित्र लेखन के 4। वहाँ आप पाएँगे:
14.6.4 बिटवाइस पूरक ऑपरेटर
प्रपत्र ~ एक्स, एकल ऑपरेटर अधिभार संकल्प (§14.2.3) लागू किया जाता है की एक ऑपरेशन के लिए एक विशिष्ट ऑपरेटर को चुनने के लिए कार्यान्वयन। ऑपरेंड को चयनित ऑपरेटर के पैरामीटर प्रकार में परिवर्तित कर दिया जाता है, और परिणाम का प्रकार ऑपरेटर का रिटर्न प्रकार होता है। पूर्वनिर्धारित बिटवाइज़ पूरक ऑपरेटरों हैं:
int operator ~(int x) ;
uint operator ~(uint x) ;
long operator ~(long x) ;
ulong operator ~(ulong x) ;
इन ऑपरेटरों में से प्रत्येक के लिए, आपरेशन के परिणाम एक्स के बिटवाइज़ पूरक है।
E operator ~(E x);
~x
, जहां x
एक अंतर्निहित प्रकार U
के साथ एक गणना प्रकार E
की अभिव्यक्ति है का मूल्यांकन का परिणाम है, बिल्कुल के रूप में एक ही है:
हर गणना प्रकार ई परोक्ष निम्नलिखित बिटवाइज़ पूरक ऑपरेटर प्रदान करता है unchecked((E)(~(U)x))
का मूल्यांकन। इस ऑपरेटर को केवल यूनरी ऑपरेटर ओवरलोड रिज़ॉल्यूशन द्वारा माना जाता है जब ऑपरेंड प्रकार enum प्रकार E
(§14.2.3) होता है।
ऊपर परिभाषित किए गए पूर्वनिर्धारित पूर्वनिर्धारित बिटवाई पूरक पूरक ऑपरेटरों के लिफ्ट (§14.2.7) रूप भी पूर्वनिर्धारित हैं।
अपने मामले ~31
में ~ 0x0000001F
के समान है। 0x0000001F
की बिटवाई शिकायत 0xFFFFFFE0
है। वे सिर्फ वास्तविक मुखौटा क्यों नहीं लिखेंगे जो वे चाहते थे मेरे बाहर है।
स्रोत
2011-11-02 20:50:38
इसका थोड़ा सा पूरक। नीचे दिए गए लिंक देखें। [कैसे बिटवाइस पूरक ऑपरेटर काम करता है] [1] [1]: भविष्य रेफरी के लिए http://stackoverflow.com/questions/791328/how-does-the-bitwise-complement-operator-work – Nerdtron
यहां सी # ऑपरेटरों की सूची दी गई है। [सी # ऑपरेटर] (http://msdn.microsoft.com/en-us/library/6a71f45d.aspx) –