बिटवाइज़ ऑपरेटर बिट्स पर काम करता है और बिट दर बिट ऑपरेशन करता है। मान लीजिए a = 60; और b = 13; अब बाइनरी फॉर्मेट में उनके मान 0011 1100 और 0000 1101 होंगे। निम्न तालिका पायथन द्वारा सपोर्टेड बिटवाइज़ ऑपरेटर्स को उदाहरण सहित सूचीबद्ध करती है, जहां हम उपरोक्त दो वेरिएबल्स (a और b) को ऑपरेंड्स के रूप में उपयोग करते हैं:
a = 0011 1100 b = 0000 1101 ----------------- a&b = 0000 1100 a|b = 0011 1101 a^b = 0011 0001 ~a = 1100 0011
पायथन भाषा द्वारा सपोर्टेड निम्नलिखित बिटवाइज़ ऑपरेटर्स हैं:
| क्र.सं. | ऑपरेटर और विवरण | उदाहरण |
|---|---|---|
| 1 | & बाइनरी AND यदि बिट दोनों ऑपरेंड्स में मौजूद है तो रिजल्ट में कॉपी करता है | (a & b) (मतलब 0000 1100) |
| 2 | | बाइनरी OR यदि बिट किसी भी ऑपरेंड में मौजूद है तो कॉपी करता है | (a | b) = 61 (मतलब 0011 1101) |
| 3 | ^ बाइनरी XOR बिट को कॉपी करता है यदि यह एक ऑपरेंड में सेट है लेकिन दोनों में नहीं | (a ^ b) = 49 (मतलब 0011 0001) |
| 4 | ~ बाइनरी वन्स कॉम्प्लीमेंट यह यूनरी है और बिट्स को 'फ्लिप' करने का प्रभाव रखता है | (~a) = -61 (मतलब 1100 0011 2 के कॉम्प्लीमेंट फॉर्म में क्योंकि साइन्ड बाइनरी नंबर) |
| 5 | << बाइनरी लेफ्ट शिफ्ट लेफ्ट ऑपरेंड का मान राइट ऑपरेंड द्वारा निर्दिष्ट बिट्स की संख्या से लेफ्ट मूव होता है | a << 2 = 240 (मतलब 1111 0000) |
| 6 | >> बाइनरी राइट शिफ्ट लेफ्ट ऑपरेंड का मान राइट ऑपरेंड द्वारा निर्दिष्ट बिट्स की संख्या से राइट मूव होता है | a >> 2 = 15 (मतलब 0000 1111) |
| 7 | **= एक्सपोनेंट AND ऑपरेटर्स पर एक्सपोनेंशियल (पावर) गणना करता है और लेफ्ट ऑपरेंड को मान असाइन करता है | c **= a, c = c ** a के बराबर है |
| 8 | //= फ्लोर डिवीजन ऑपरेटर्स पर फ्लोर डिवीजन करता है और लेफ्ट ऑपरेंड को मान असाइन करता है | c //= a, c = c // a के बराबर है |
उदाहरण
#!/usr/bin/python a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0 c = a & b # 12 = 0000 1100 print "Line 1 - Value of c is ", c c = a | b # 61 = 0011 1101 print "Line 2 - Value of c is ", c c = a ^ b # 49 = 0011 0001 print "Line 3 - Value of c is ", c c = ~a # -61 = 1100 0011 print "Line 4 - Value of c is ", c c = a << 2 # 240 = 1111 0000 print "Line 5 - Value of c is ", c c = a >> 2 # 15 = 0000 1111 print "Line 6 - Value of c is ", c
आउटपुट
उपरोक्त प्रोग्राम चलाने पर निम्न परिणाम मिलता है:
Line 1 - Value of c is 12 Line 2 - Value of c is 61 Line 3 - Value of c is 49 Line 4 - Value of c is -61 Line 5 - Value of c is 240 Line 6 - Value of c is 15