
Bitwise Operators, Data Type Modifiers & more | DSA Series by Shradha Khapra Ma'am | C++
Apna College
Overview
यह वीडियो बिटवाइज़ ऑपरेटर्स, डेटा टाइप मॉडिफायर्स, ऑपरेटर प्रेसीडेंस और स्कोप जैसे महत्वपूर्ण C++ कॉन्सेप्ट्स को कवर करता है। यह बिटवाइज़ AND, OR, XOR, लेफ्ट शिफ्ट और राइट शिफ्ट ऑपरेटर्स के काम करने के तरीके को समझाता है, साथ ही यह भी बताता है कि ये ऑपरेशंस गणितीय रूप से कैसे संबंधित हैं (जैसे लेफ्ट शिफ्ट गुणा करने के समान है)। वीडियो ऑपरेटर प्रेसीडेंस के नियमों पर भी चर्चा करता है, यह बताता है कि एक्सप्रेशन में कौन सा ऑपरेशन पहले किया जाता है, और स्कोप की अवधारणा को स्पष्ट करता है, जिसमें लोकल और ग्लोबल वेरिएबल्स शामिल हैं। अंत में, यह डेटा टाइप मॉडिफायर्स जैसे 'लॉन्ग', 'शॉर्ट', और 'अनसाइंड' की व्याख्या करता है, जो मौजूदा डेटा टाइप्स की रेंज और व्यवहार को बदलते हैं। वीडियो में कुछ होमवर्क समस्याएं भी दी गई हैं ताकि सीखी गई अवधारणाओं का अभ्यास किया जा सके।
Save this permanently with flashcards, quizzes, and AI chat
Chapters
- बिटवाइज़ ऑपरेटर्स नंबर्स की बाइनरी रिप्रेजेंटेशन पर काम करते हैं।
- बिटवाइज़ AND (एम्परसेंड '&') लॉजिकल AND की तरह काम करता है: केवल जब दोनों बिट्स 1 हों तो रिजल्ट 1 होता है, अन्यथा 0।
- बिटवाइज़ OR (पाइप '|' ) लॉजिकल OR की तरह काम करता है: यदि कोई भी बिट 1 है तो रिजल्ट 1 होता है, अन्यथा 0।
- बिटवाइज़ XOR (कैरेट '^') एक्सक्लूसिव OR की तरह काम करता है: यदि बिट्स अलग-अलग हैं तो रिजल्ट 1 होता है, यदि समान हैं तो 0 होता है।
- लेफ्ट शिफ्ट ऑपरेटर (<<) बिट्स को बाईं ओर शिफ्ट करता है, खाली जगहों को दाईं ओर 0 से भरता है।
- लेफ्ट शिफ्ट ऑपरेटर किसी नंबर को 2 की पावर से गुणा करने के बराबर है (n << k का मतलब n * 2^k है)।
- राइट शिफ्ट ऑपरेटर (>>) बिट्स को दाईं ओर शिफ्ट करता है, खाली जगहों को बाईं ओर 0 से भरता है (साइंड इंटीजर के लिए साइन बिट से भी भर सकता है)।
- राइट शिफ्ट ऑपरेटर किसी नंबर को 2 की पावर से विभाजित करने के बराबर है (n >> k का मतलब n / 2^k है)।
- ऑपरेटर प्रेसीडेंस यह निर्धारित करता है कि एक एक्सप्रेशन में कौन सा ऑपरेटर पहले इवैल्यूएट होगा।
- यूनिरी ऑपरेटर्स (जैसे ++, --) और पैरेंथेसिस की प्रेसीडेंस सबसे अधिक होती है।
- मल्टीप्लिकेशन, डिवीजन और मॉड्यूलो की प्रेसीडेंस समान होती है, उसके बाद एडिशन और सब्ट्रैक्शन आते हैं।
- जब ऑपरेटर्स की प्रेसीडेंस समान होती है, तो एसोसिएटिविटी नियम (आमतौर पर लेफ्ट-टू-राइट, असाइनमेंट के लिए राइट-टू-लेफ्ट) लागू होते हैं।
- स्कोप एक कोड ब्लॉक के भीतर एक वेरिएबल की एक्सेसिबिलिटी को परिभाषित करता है।
- लोकल वेरिएबल्स को किसी फ़ंक्शन, ब्लॉक (जैसे if, for) या कर्ली ब्रेसिज़ के अंदर डिफाइन किया जाता है और वे केवल उसी स्कोप तक सीमित होते हैं।
- ग्लोबल वेरिएबल्स को सभी फ़ंक्शंस के बाहर डिफाइन किया जाता है और वे पूरे प्रोग्राम में एक्सेसिबल होते हैं।
- लोकल वेरिएबल्स ग्लोबल वेरिएबल्स को ओवरराइड कर सकते हैं यदि उनका नाम समान हो।
- डेटा टाइप मॉडिफायर्स मौजूदा डेटा टाइप्स के अर्थ या रेंज को बदलते हैं।
- 'लॉन्ग' मॉडिफायर (जैसे `long int`) डेटा टाइप की रेंज को बढ़ाता है, जिससे बड़े नंबर्स स्टोर किए जा सकते हैं।
- 'शॉर्ट' मॉडिफायर (जैसे `short int`) डेटा टाइप की रेंज को कम करता है, जिससे कम मेमोरी का उपयोग होता है।
- 'अनसाइंड' मॉडिफायर (जैसे `unsigned int`) यह सुनिश्चित करता है कि वेरिएबल केवल नॉन-नेगेटिव (पॉजिटिव और जीरो) वैल्यूज को स्टोर करे, जिससे पॉजिटिव रेंज दोगुनी हो जाती है।
Key takeaways
- बिटवाइज़ ऑपरेटर्स बिट्स पर सीधे काम करके कुशल मैनिपुलेशन की अनुमति देते हैं।
- लेफ्ट और राइट शिफ्ट ऑपरेशंस क्रमशः गुणा और भाग के लिए शॉर्टकट प्रदान करते हैं।
- ऑपरेटर प्रेसीडेंस और एसोसिएटिविटी यह निर्धारित करते हैं कि जटिल एक्सप्रेशंस का मूल्यांकन कैसे किया जाता है।
- वेरिएबल स्कोप यह नियंत्रित करता है कि कोड में वेरिएबल्स कहां एक्सेस किए जा सकते हैं, जिससे बग्स को रोका जा सके।
- डेटा टाइप मॉडिफायर्स मेमोरी उपयोग को अनुकूलित करने और डेटा की रेंज को बढ़ाने या घटाने के लिए महत्वपूर्ण हैं।
- अनसाइंड डेटा टाइप्स का उपयोग तब किया जाना चाहिए जब केवल पॉजिटिव वैल्यूज की आवश्यकता हो, जिससे पॉजिटिव रेंज बढ़ जाती है।
Key terms
Test your understanding
- बिटवाइज़ AND और लॉजिकल AND के बीच मुख्य अंतर क्या है?
- लेफ्ट शिफ्ट ऑपरेटर का उपयोग करके किसी नंबर को 2 की पावर से गुणा करने का क्या मतलब है?
- यदि एक एक्सप्रेशन में समान प्रेसीडेंस वाले कई ऑपरेटर्स हों तो कंपाइलर कैसे निर्णय लेता है कि कौन सा ऑपरेशन पहले करना है?
- लोकल और ग्लोबल वेरिएबल्स के बीच मुख्य अंतर क्या है और स्कोप क्यों महत्वपूर्ण है?
- एक `unsigned int` वेरिएबल में नेगेटिव वैल्यू असाइन करने पर क्या होता है और क्यों?
- आप मेमोरी उपयोग को कम करने के लिए `short int` का उपयोग कब करेंगे?