बिटवाइज ऑपरेटर बिट्स पर काम करता है और बिट बाय बिट ऑपरेशन करता है। मान लें कि a =60; और बी =13; अब बाइनरी फॉर्मेट में उनका मान क्रमशः 0011 1100 और 0000 1101 होगा। निम्नलिखित तालिका में पाइथन भाषा द्वारा समर्थित बिटवाइज़ ऑपरेटरों को सूचीबद्ध किया गया है, जिनमें से प्रत्येक में एक उदाहरण है, हम उपरोक्त दो चर (ए और बी) को ऑपरेंड के रूप में उपयोग करते हैं -
a = 0011 1100 b = 0000 1101 ----------------- a&b = 0000 1100 a|b = 0011 1101 a^b = 0011 0001 ~a = 1100 0011
पायथन भाषा द्वारा समर्थित निम्नलिखित बिटवाइज़ ऑपरेटर हैं।
<टेबल> <थेड>यदि परिणाम दोनों ऑपरेंड में मौजूद है तो ऑपरेटर परिणाम में थोड़ा सा कॉपी करता है
यदि यह किसी भी ऑपरेंड में मौजूद है तो यह थोड़ा सा कॉपी करता है।
यदि यह एक ऑपरेंड में सेट है, लेकिन दोनों में नहीं, तो यह बिट को कॉपी करता है।
यह यूनरी है और इसमें 'फ्लिपिंग' बिट्स का प्रभाव है।
बाएं ऑपरेंड मान को दाएं ऑपरेंड द्वारा निर्दिष्ट बिट्स की संख्या से बाईं ओर ले जाया जाता है।
बाएं ऑपरेंड मान को दाएं ऑपरेंड द्वारा निर्दिष्ट बिट्स की संख्या से दाएं स्थानांतरित किया जाता है।
ऑपरेटरों पर घातीय (शक्ति) गणना करता है और बाएं ऑपरेंड को मान निर्दिष्ट करता है
यह ऑपरेटरों पर फ्लोर डिवीजन करता है और बाएं ऑपरेंड को मूल्य प्रदान करता है
उदाहरण
#!/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