बिटवाइज़ और ओवरफ़्लो ऑपरेटर
बिट्स में बदलाव कीजिए और &+ जैसे ओवरफ़्लो ऑपरेटरों का सुरक्षित उपयोग कीजिए।
बिटवाइज़ और ओवरफ़्लो ऑपरेटर, CoddyKit पर Swift Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Swift Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
बिट-स्तरीय ऑपरेटर
बिट-स्तरीय ऑपरेटर पूर्णांकों के अलग-अलग द्विआधारी अंकों पर काम करते हैं। Swift में AND &, OR |, XOR ^, NOT ~ और शिफ्ट << / >> उपलब्ध हैं।
let a: UInt8 = 0b1100
let b: UInt8 = 0b1010
print(a & b)
print(a | b)बिट-स्तरीय AND
& प्रत्येक परिणाम bit को केवल तब 1 करता है जब दोनों input bits 1 हों। इसका उपयोग अक्सर bits को mask करने के लिए किया जाता है।
let value: UInt8 = 0b10110101
let mask: UInt8 = 0b00001111
let low = value & mask
print(low)बिट-स्तरीय OR
| प्रत्येक परिणाम bit को तब 1 करता है जब किसी भी एक input bit का मान 1 हो। यह flags को मिलाने के लिए उपयोगी है।
let flagsA: UInt8 = 0b0001
let flagsB: UInt8 = 0b0100
let combined = flagsA | flagsB
print(combined)बिट-स्तरीय XOR
^ किसी bit को केवल तब 1 करता है जब दोनों input bits अलग हों। उसी मान के साथ दो बार XOR करने पर original मान वापस मिल जाता है।
let original: UInt8 = 0b1010
let key: UInt8 = 0b0110
let encoded = original ^ key
let decoded = encoded ^ key
print(encoded, decoded)बिट-स्तरीय NOT
यूनरी ~ हर bit को उलट देता है। UInt8 के लिए सभी 8 bits उलट जाते हैं।
let bits: UInt8 = 0b00001111
let inverted = ~bits
print(inverted)बाएँ शिफ्ट
<< bits को बाईं ओर ले जाता है और खाली स्थानों में zero भरता है। 1 से किया गया प्रत्येक बायाँ शिफ्ट किसी unsigned मान को 2 से गुणा करता है।
let n: UInt8 = 0b00000011
print(n << 1)
print(n << 2)दाएँ शिफ्ट
>> bits को दाईं ओर ले जाता है। unsigned पूर्णांकों में खाली स्थानों में zero भरे जाते हैं, जिससे प्रभावी रूप से दो की घातों से भाग किया जाता है।
let n: UInt8 = 0b00010000
print(n >> 1)
print(n >> 4)सामान्य ऑपरेटरों के साथ अतिप्रवाह
आपके प्रोग्राम को सुरक्षित रखने के लिए सामान्य अंकगणितीय क्रियाएँ अतिप्रवाह होने पर रुक जाती हैं: किसी प्रकार की अधिकतम सीमा पार करने पर सामान्यतः प्रोग्राम चुपचाप मान को घुमाने के बजाय क्रैश हो जाता है।
let maxByte = UInt8.max
print("Max UInt8:", maxByte)
let safe = Int(maxByte) + 1
print("Promoted sum:", safe)अतिप्रवाह जोड़ &+
जब आप जानबूझकर मान को सीमा पार करके फिर से सीमा के आरंभ पर लाना चाहते हैं, तो अतिप्रवाह ऑपरेटरों का उपयोग करें। &+ क्रैश होने के बजाय अधिकतम सीमा पार करने पर फिर से न्यूनतम सीमा से शुरू करता है।
let maxByte: UInt8 = 255
let wrapped = maxByte &+ 1
print(wrapped)अतिप्रवाह घटाव और गुणा
&- और &* भी इसी तरह मान को सीमा के भीतर घुमाते हैं। UInt8 के लिए 0 &- 1 का परिणाम 255 होता है।
let zero: UInt8 = 0
print(zero &- 1)
let big: UInt8 = 200
print(big &* 2)अतिप्रवाह ऑपरेटरों का उपयोग कब करें
&+ &- &* का उपयोग केवल तब करें जब सीमा पार करके मान को घुमाना ही इच्छित व्यवहार हो, जैसे हैशिंग या चक्रीय काउंटरों में। अन्यथा सुरक्षा के लिए अतिप्रवाह पर रुकने वाले ऑपरेटरों को प्राथमिकता दें।
var counter: UInt8 = 254
for _ in 0..<4 {
counter = counter &+ 1
print(counter)
}त्वरित जाँच
अतिप्रवाह के कारण मान के सीमा के भीतर घूमने के बारे में तर्क लगाकर उत्तर दें।
सारांश: बिट-स्तरीय और अतिप्रवाह ऑपरेटर
आपने बिट ऑपरेटर & | ^ ~ और शिफ्ट << >> सीखे, यह जाना कि सुरक्षा के लिए सामान्य अंकगणित अतिप्रवाह होने पर रुक जाता है, और यह भी कि &+ &- &* जानबूझकर प्रकार की सीमाओं के भीतर मान को घुमाते हैं।
let mask: UInt8 = 0b1111
let v: UInt8 = 0b10101010
print("Masked:", v & mask)
print("Wrap:", UInt8(0) &- 1)एआई शिक्षक के साथ Swift सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 122
- पाठ
- 409
अक्सर पूछे जाने वाले प्रश्न
क्या “बिटवाइज़ और ओवरफ़्लो ऑपरेटर” पाठ निःशुल्क है?
हाँ — Swift Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “बिटवाइज़ और ओवरफ़्लो ऑपरेटर” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“बिटवाइज़ और ओवरफ़्लो ऑपरेटर” में मैं क्या सीखूँगा?
बिट्स में बदलाव कीजिए और &+ जैसे ओवरफ़्लो ऑपरेटरों का सुरक्षित उपयोग कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Swift Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Swift Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Swift Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“बिटवाइज़ और ओवरफ़्लो ऑपरेटर” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Swift Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Swift Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- अंकगणितीय और संयुक्त असाइनमेंट ऑपरेटर
- तुलना और पहचान ऑपरेटर
- तार्किक ऑपरेटर और शॉर्ट-सर्किटिंग
- बिटवाइज़ और ओवरफ़्लो ऑपरेटर