Bitweise Operatoren lernen
In diesem Schritt lernen wir Bitwise-Operatoren in Python kennen. Bitwise-Operatoren führen Operationen direkt auf der binären Darstellung von ganzen Zahlen durch.
Verwenden Sie weiterhin die Datei operators.py
im Verzeichnis ~/project
. Öffnen Sie sie im VS Code Editor.
Bevor wir uns den Operatoren widmen, verwenden wir die Funktion bin()
, um die binäre Darstellung einiger Zahlen anzuzeigen. Fügen Sie den folgenden Code zu Ihrer Datei operators.py
hinzu:
## Bitwise Operators
print("\n--- Bitwise Operators ---")
print("Binary representation of 5:", bin(5))
print("Binary representation of 9:", bin(9))
Speichern Sie die Datei und führen Sie sie aus:
python ~/project/operators.py
Sie sehen die binären Formen:
... (output from previous steps) ...
--- Bitwise Operators ---
Binary representation of 5: 0b101
Binary representation of 9: 0b1001
Fügen wir Auffüllungen hinzu, um sie zur einfacheren Verständlichkeit auf 8 Bits zu bringen:
5
in Binärform ist 00000101
9
in Binärform ist 00001001
Nun erkunden wir die Bitwise-Operatoren:
Bitwise OR (|
)
Der Bitwise OR-Operator vergleicht die entsprechenden Bits zweier Zahlen. Wenn eines der Bits 1 ist, ist das resultierende Bit 1.
Bei unserem Beispiel von 5 (00000101
) und 9 (00001001
) würde die Bitwise OR-Operation 5 | 9
zu 00001101
führen, was dezimal 13 ist.
Fügen Sie dies zu operators.py
hinzu:
print(f'5 | 9 =', 5 | 9)
Speichern und führen Sie die Datei aus:
python ~/project/operators.py
Ausgabe:
... (previous output) ...
5 | 9 = 13
Bitwise AND (&
)
Der Bitwise AND-Operator vergleicht die entsprechenden Bits zweier Zahlen. Wenn beide Bits 1 sind, ist das resultierende Bit 1; andernfalls ist es 0.
Für 5 (00000101
) und 9 (00001001
) würde die Bitwise AND-Operation 5 & 9
zu 00000001
führen, was dezimal 1 ist.
Fügen Sie dies zu operators.py
hinzu:
print(f'5 & 9 =', 5 & 9)
Speichern und ausführen:
python ~/project/operators.py
Ausgabe:
... (previous output) ...
5 & 9 = 1
Bitwise XOR (^
)
Der Bitwise XOR-Operator vergleicht die entsprechenden Bits zweier Zahlen. Wenn die Bits unterschiedlich sind, ist das resultierende Bit 1; andernfalls ist es 0.
Für 5 (00000101
) und 9 (00001001
) würde die Bitwise XOR-Operation 5 ^ 9
zu 00001100
führen, was dezimal 12 ist.
Fügen Sie dies zu operators.py
hinzu:
print(f'5 ^ 9 =', 5 ^ 9)
Speichern und ausführen:
python ~/project/operators.py
Ausgabe:
... (previous output) ...
5 ^ 9 = 12
Bitwise NOT (~
)
Der Bitwise NOT-Operator invertiert alle Bits einer Zahl. Für eine ganze Zahl x
ist ~x
äquivalent zu -(x+1)
.
Fügen Sie dies zu operators.py
hinzu:
print(f'~5 =', ~5)
Speichern und ausführen:
python ~/project/operators.py
Ausgabe:
... (previous output) ...
~5 = -6
Left Shift (<<
)
Der Left Shift-Operator verschiebt die Bits einer Zahl um eine angegebene Anzahl von Positionen nach links. Eine Linksverschiebung um n
Bits ist äquivalent zur Multiplikation mit 2**n
.
Für 5 (00000101
) führt eine Linksverschiebung um 2 (5 << 2
) zu 00010100
, was dezimal 20 ist (5 * 2^2).
Fügen Sie dies zu operators.py
hinzu:
print(f'5 << 2 =', 5 << 2)
Speichern und ausführen:
python ~/project/operators.py
Ausgabe:
... (previous output) ...
5 << 2 = 20
Right Shift (>>
)
Der Right Shift-Operator verschiebt die Bits einer Zahl um eine angegebene Anzahl von Positionen nach rechts. Eine Rechtsverschiebung um n
Bits ist äquivalent zur Ganzzahldivision durch 2**n
.
Für 5 (00000101
) führt eine Rechtsverschiebung um 2 (5 >> 2
) zu 00000001
, was dezimal 1 ist (5 // 2^2).
Fügen Sie dies zu operators.py
hinzu:
print(f'5 >> 2 =', 5 >> 2)
Speichern und ausführen:
python ~/project/operators.py
Ausgabe:
... (previous output) ...
5 >> 2 = 1
Sie haben erfolgreich Bitwise-Operatoren in Python kennengelernt und geübt.