Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन बिटवाइज़ ऑपरेटर्स


बिटवाइज़ ऑपरेटर बिट्स पर काम करता है और बिट दर बिट ऑपरेशन करता है। मान लीजिए 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

  1. - पायथन स्टैंडर्ड ऑपरेटर्स को फ़ंक्शन्स के रूप में (operator मॉड्यूल)

    प्रोग्रामिंग में, ऑपरेटर आमतौर पर एक सिंबल (की) होता है जो किसी विशेष ऑपरेशन जैसे जोड़, घटाव, तुलना आदि को करने के लिए पूर्वनिर्धारित होता है। पायथन में बिल्ट-इन ऑपरेशन्स का एक बड़ा सेट होता है जो विभिन्न श्रेणियों जैसे अंकगणितीय, तुलना, बिट-वाइज़, सदस्यता आदि में विभाजित होते हैं। पायथन लाइब्रेरी

  1. - Python में तुलना ऑपरेटर्स की चेनिंग

    कभी-कभी हमें एक ही स्टेटमेंट में एक से अधिक कंडीशन चेकिंग का उपयोग करने की आवश्यकता होती है। इसके लिए कुछ बेसिक सिंटैक्स हैं जैसे x < y < z, या if x < y and x < z आदि। अन्य भाषाओं की तरह, Python में कुछ बेसिक तुलना ऑपरेटर्स हैं। ये तुलना ऑपरेटर्स हैं , <=, , =, ==, !=, is, is not, in, not in। इन ऑपर

  1. - Python में विभिन्न बिटवाइज़ ऑपरेटर्स के प्रकार क्या हैं?

    बिटवाइज़ ऑपरेटर्स बिट्स को ऑपरेंड के रूप में ऑपरेट करते हैं। Python में निम्नलिखित बिटवाइज़ ऑपरेटर्स परिभाषित हैं: `&` (बिटवाइज़ AND): 1 लौटाता है यदि दोनों बिट ऑपरेंड्स 1 हैं `|` (बिटवाइज़ OR): 1 लौटाता है यदि दो बिट ऑपरेंड्स में से कोई एक 1 है `^` (बिटवाइज़ XOR): 1 केवल तभी लौटाता है यदि एक