)। मान लें कि आपके पास दो पूर्णांक हैं, एक = 8, बी = 2. सी ++ ए में बी सच है। मैंने झंडे के संग्रह के साथ काम करने के लिए उस व्यवहार का इस्तेमाल किया। उदाहरण के लिए झंडे 1, 2, 4, 8 और इतने पर होंगे, और उनमें से कोई भी संग्रह अद्वितीय होगा। मैं नहीं देख सकता कि सी # में, जैसा कि | और & ऑपरेटरों सी ++ में ऐसा व्यवहार नहीं करते हैं। मैंने सी # में ऑपरेटरों के बारे में प्रलेखन पढ़ा लेकिन मुझे अभी भी यह नहीं मिला है।बिटवाई या: सी # बनाम सी ++
संपादित करें:
दुर्भाग्य से, मैं कहीं ऊपर गंदगी बातें करने लगते हैं। उदाहरण के लिए इस कोड डालें:
byte flagCollection = 8;
byte flag = 3;
if ((flag | flagCollection) != 0) MessageBox.Show("y"); else MessageBox.Show("n");
यह रिटर्न "y" जो कुछ भी मूल्य के लिए मैं ध्वज में डाल दिया। जो स्पष्ट है, क्योंकि 3 | 8 होगा 11. हम्मम्म ... मैं जो करना चाहता हूं उसके पास ध्वज संग्रह है: 1, 2, 4, 8, 16 और जब मैं एक संख्या देता हूं, यह निर्धारित करने में सक्षम होने के लिए कि यह झंडे क्या है।
किसी के पास इसका उदाहरण है? –
'int' को सी ++ में 'से' बूल 'में परिवर्तित नहीं किया गया है, प्रति से, क्योंकि कोई' बूल 'प्रकार नहीं है -' int 'का उपयोग' बूल 'के रूप में किया जाता है। – Noldorin
@ नोल्डोरिन: ऐसा नहीं - सी (सी 99 से पहले) में एक बूल प्रकार नहीं था, और एक समय में (मानकीकरण से पहले) सी ++ या तो नहीं था, लेकिन सी के पास बूल (तकनीकी रूप से इसका नाम _Bool) था दशक, और सी ++ में यह और भी लंबा रहा है। –