Cloud-Lösungen der Zukunft - Testen!

Revolutionäre Cloud-Technologie, ganz ohne versteckte Kosten. Profitieren Sie von unserer Testphase und entdecken Sie umfassende Funktionen. Der Anmeldeprozess ist transparent und unkompliziert. Starten Sie jetzt Ihre Reise in die Cloud - Kostenfrei!

Python Bitwise Operators

Python Bitwise Operators werden verwendet, um Bitwise Berechnungen an Ganzzahlen durchzuführen. Die Ganzzahlen werden in das Binärformat konvertiert und dann werden Operationen Bit für Bit durchgeführt, daher der Name Bitwise Operators. Python Bitwise Operators funktionieren nur mit Ganzzahlen und der finale Output wird im Dezimalformat zurückgegeben. Python Bitwise Operators werden auch binäre Operators genannt.

Arten von Python Bitwisen Operators

Es gibt 6 Bitwise Operators in Python. Die folgende Tabelle bietet kurze Details über sie.

Bitwise Operator Description Simple Example
& Bitwise AND Operator 10 & 7 = 2
| Bitwise OR Operator 10 | 7 = 15
^ Bitwise XOR Operator 10 ^ 7 = 13
~ Bitwise Ones’ Compliment Operator ~10 = -11
<< Bitwise Left Shift operator 10<<2 = 40
>> Bitwise Right Shift Operator 10>>1 = 5

Lassen Sie uns diese Operators einzeln anschauen und verstehen, wie sie funktionieren.

1. Bitwiser AND-Operator

Der Bitwise AND-Operator in Python gibt 1 zurück, wenn beide Bits 1 sind, andernfalls 0.

2. Bitwiser OR-Operator

Der Bitwise OR-Operator in Python gibt 1 zurück, wenn eines der Bits 1 ist. Sind beide Bits 0, dann gibt er 0 zurück.

3. Bitwiser XOR-Operator

Der Bitwise XOR-Operator in Python gibt 1 zurück, wenn eines der Bits 0 und das andere Bit 1 ist. Sind beide Bits 0 oder 1, dann gibt er 0 zurück.

4. Bitwiser Ones’ Complement Operator

Der Ones’ Complement eines Zahlenwertes ‘A’ in Python ist gleich -(A+1).

>>> ~10
-11
>>> ~-10
9
>>>

5. Bitwiser Left Shift Operator

Der Bitwise Left Shift Operator in Python verschiebt die Bits des linken Operanden nach links um die angegebene Anzahl von Malen des rechten Operanden. Einfach ausgedrückt wird die Binärzahl am Ende mit 0en ergänzt.

6. Bitwiser Right Shift Operator

Der Bitwise Right Shift Operator in Python ist genau das Gegenteil des Left Shift Operators. Die Bits des linken Operanden werden nach rechts um die angegebene Anzahl von Malen verschoben. Einfach ausgedrückt werden die rechten Bits entfernt.

Python Bitwise Operator-Überladung

Python unterstützt Operator-Überladung. Es gibt verschiedene Methoden, die wir implementieren können, um Bitwise Operators für unsere benutzerdefinierten Objekte zu unterstützen.

Bitwise Operator Method to Implement
& __and__(self, other)
^ __xor__(self, other)
~ __invert__(self)
<< __lshift__(self, other)
>> __rshift__(self, other)

Hier ist ein Beispiel für eine Operator-Überladung eines Bitwisen Operators für unser benutzerdefiniertes Objekt.

class Data:
    id = 0

    def __init__(self, i):
        self.id = i

    def __and__(self, other):
        print('Bitwise AND operator overloaded')
        if isinstance(other, Data):
            return Data(self.id & other.id)
        else:
            raise ValueError('Argument must be object of Data')

    def __or__(self, other):
        print('Bitwise OR operator overloaded')
        if isinstance(other, Data):
            return Data(self.id | other.id)
        else:
            raise ValueError('Argument must be object of Data')

    def __xor__(self, other):
        print('Bitwise XOR operator overloaded')
        if isinstance(other, Data):
            return Data(self.id ^ other.id)
        else:
            raise ValueError('Argument must be object of Data')

    def __lshift__(self, other):
        print('Bitwise Left Shift operator overloaded')
        if isinstance(other, int):
            return Data(self.id << other) else: raise ValueError('Argument must be integer') def __rshift__(self, other): print('Bitwise Right Shift operator overloaded') if isinstance(other, int): return Data(self.id >> other)
        else:
            raise ValueError('Argument must be integer')

    def __invert__(self):
        print('Bitwise Ones Complement operator overloaded')
        return Data(~self.id)

    def __str__(self):
        return f'Data[{self.id}]'


d1 = Data(10)
d2 = Data(7)

print(f'd1&d2 = {d1&d2}')
print(f'd1|d2 = {d1|d2}')
print(f'd1^d2 = {d1^d2}')
print(f'd1<<2 = {d1<<2}') print(f'd1>>2 = {d1>>2}')
print(f'~d1 = {~d1}')

Output:

Bitwise AND operator overloaded
d1&d2 = Data[2]
Bitwise OR operator overloaded
d1|d2 = Data[15]
Bitwise XOR operator overloaded
d1^d2 = Data[13]
Bitwise Left Shift operator overloaded
d1<<2 = Data[40] Bitwise Right Shift operator overloaded d1>>2 = Data[2]
Bitwise Ones Complement operator overloaded
~d1 = Data[-11]

Zusammenfassung

Python Bitwise Operators werden meistens in mathematischen Berechnungen verwendet. Wir können spezifische Methoden implementieren, um Bitwise Operators auch für unsere benutzerdefinierten Klassenimplementierungen zu unterstützen.

Starten Sie Ihre Cloud-Reise mit unserer kostenlosen Trial-Version!

Entdecken Sie die grenzenlosen Möglichkeiten unserer Cloud-Dienste ganz unverbindlich. Melden Sie sich jetzt für unsere kostenlose Trial-Version an und erleben Sie, wie unsere innovativen Lösungen Ihr Business transformieren können.

Try for free!