दिलचस्प पोस्ट
कैसे एक टुकड़ा से दूसरे टुकड़े को डेटा भेजने के लिए? मैं एक नई सरणी के रूप में दो सरणियों के बीच का अंतर कैसे प्राप्त करूं? मेस्लेमलबर्ट सामग्री की प्रतिलिपि बनाना ShaderMaterial का प्रयोग सामग्री को अनदेखा करता है मैं Python webdriver में phantomjs / ghostdriver के लिए एक प्रॉक्सी कैसे सेट करूं? JQuery के साथ गतिशील रूप से भरी हुई इनलाइन और / या बाह्य सीएसएस कैसे लागू करें टाइप स्क्रिप्ट के साथ अंगुलर 2 में एचटीआई डेटा से चैनिंग आरएक्सजेएस ऑब्जेर्वबल्स वर्ड कॉल करने के बाद WinWord.exe नहीं छोड़ेगा। दस्तावेज़। Add-Word .NET Interop $ अजाक्स पोस्ट में पैरामीटर कैसे पारित करें? स्थिर तरीके मजाक एंड्रॉइड यूएसबी होस्ट और छुपे हुए डिवाइस पैरामीटर के रूप में कॉलम-नाम और / या तालिका-नाम कैसे मोंगोज़ के साथ एक डेटाबेस को छोड़ सकता है? उद्धरण चिह्नों के साथ php implode (101) MySQL में एक ब्लॉब कॉलम में अधिकतम डेटा की अधिकतम लंबाई क्या है? क्या इस का उपयोग करने के लिए कोई कारण है->

!! सी ऑपरेटर, एक दो नहीं है?

मैं यह कोड पढ़ रहा हूं, और यह रेखा है I

switch (!!up + !!left) { 

क्या है !! ऑपरेटर ? दो तार्किक नहीं?

Solutions Collecting From Web of "!! सी ऑपरेटर, एक दो नहीं है?"

हाँ, यह दो नोट्स हैं

!!a 1 अगर a शून्य है और 0 यदि 0 तो

आप सोच सकते हैं !! क्लैंपिंग के रूप में, जैसा कि यह था, {0,1} मैं व्यक्तिगत रूप से उपयोग फैंसी प्रकट करने के लिए एक बुरा प्रयास मिल।

आप इसे इस तरह से कल्पना कर सकते हैं:

 !(!(a)) 

यदि आप इसे कदम से कदम करते हैं, तो यह समझ में आता है

 result = !42; //Result = 0 result = !(!42) //Result = 1 because !0 = 1 

यह 1 किसी भी संख्या (-42, 4.2 एफ, आदि) के साथ वापस करेगा, लेकिन केवल 0 साथ, ऐसा होगा

 result = !0; //Result = 1 result = !(!0) //result = 0 

!! एक अधिक पोर्टेबल (प्री-सी 99) विकल्प (_Bool)

आप सही हे। यह दो नोट्स है यह देखने के लिए कि ऐसा क्यों करेगा, यह कोड देखें:

 #include <stdio.h> int foo(const int a) { return !!a; } int main() { const int b = foo(7); printf( "The boolean value is %d, " "where 1 means true and 0 means false.\n", b ); return 0; } 

यह आउटपुट करता है The boolean value is 1, where 1 means true and 0 means false. यदि आप ड्रॉप !! हालांकि, यह आउटपुट करता है The boolean value is 7, where 1 means true and 0 means false.