Einführung in die Bitmaskierung in Python
Dieses Tutorial informiert über Bitmaskierung in Python und zeigt, wie wir Bitmaskierung mit bitweisen Operatoren durchführen können, zum Beispiel AND
, OR
, NOT
usw.
Einführung in die Bitmaske in Python
Bitmask ist ein allgemeines Konzept für fast jede Programmiersprache; Im Grunde ist es nur eine Variable, die Sie bei bitweisen Operationen unterstützt und zu einem tiefen Verständnis und zur Manipulation der Bits eines Werts beiträgt, sagen wir ganzzahlige Werte.
Es hilft auch, die Werte in eine kleinere und effizientere Version zu komprimieren, wodurch die Speichernutzung und Operationen auf Bits reduziert werden. In Computern werden alle Daten oder Informationen in Bits auf einer niedrigeren Ebene gespeichert.
Dieses Bit kann nur zwei Zustände annehmen, entweder 0
(False
) oder 1
(True
), und eine bestimmte Kombination hat eine bestimmte Bedeutung.
Sehen wir uns ein Beispiel an, um das Bitmaskenkonzept in Python zu verstehen.
# convert 8 into binary format --> 1000
bindata = format(8, "b")
print(bindata)
Ausgang:
1000
Im obigen Beispiel haben wir 8
, eine Dezimalzahl, in eine binäre Form umgewandelt, die der 1000
entspricht. Jetzt können wir tiefer mit 8
interagieren und jedes Bit davon manipulieren.
Hier kommt das Konzept der Bitmaskierung ins Spiel. Aber sehen wir uns zuerst ein Beispiel an, wie wir mit den binären Bits interagieren können.
Beispielcode:
bin_a = int(format(8, "b")) # 1000
bin_b = int(format(1, "b")) # 0001 or 1
# 1000 (8)
# 0001 (1) OR (|) Bitwise Operator
# -----
# 1001 (9)
print(f"bin_ a = {bin_a}")
print(f"bin_ b = {bin_b}")
print(f"The OR (SUM) of bin_a and bin_b = {(bin_a | bin_b)}")
Ausgang:
bin_ a = 1000
bin_ b = 1
The OR (SUM) of bin_a and bin_b = 1001
Im obigen Code-Fence haben wir den bitweisen Operator OR
verwendet, dargestellt als |
, der verwendet wird, um binäre Werte Bit für Bit zu addieren.
Bitweise Operatoren in Python
Bitweise Operatoren führen Bit-für-Bit-Operationen eines beliebigen ganzzahligen Typs wie short
, byte
, long
, char
, int
usw. aus. Es gibt verschiedene bitweise Operatoren, die jeweils einen bestimmten Anwendungsfall haben.
- Bitweises ODER
|
- Bitweises UND
&
- Bitweises XOR
^
- Bitweise Ergänzung
~
Bitweises ODER |
Der ODER
-Operator ist ein bitweiser Operator, der als |
dargestellt wird, und er führt Bit-für-Bit-Manipulation von zwei oder mehr Werten durch und gibt true
zurück, wenn mindestens ein Wert true
oder andernfalls false
ist.
Es folgt die Grundstruktur von OR (|)
für zwei Werte:
| A
| B
| A | B
|
| ——— | ——— | ——— |
| 1 (Wahr)| 1 (Wahr)| 1 (Wahr)|
| 0 (Falsch)| 0 (Falsch)| 0 (Falsch)|
| 1 (Wahr)| 0 (Falsch)| 1 (Wahr)|
| 0 (Falsch)| 1 (Wahr)| 1 (Wahr)|
Beispielcode:
# Bitwise operator OR (|)
a = int(format(5, "b")) # 101
b = int(format(4, "b")) # 100
# 101 (5)
# 100 (4) OR (|) Bitwise Operator
# ------
# 101 (5)
print(f"a = {a}\nb = {b}")
print("a & b = ", (a | b)) # 101
Ausgang:
a = 101
b = 100
a & b = 101
Bitweises UND &
Der AND
-Operator ist ein bitweiser Operator, der als &
dargestellt wird, und er führt eine Bit-für-Bit-Berechnung von zwei oder mehreren Werten durch und gibt true
zurück, wenn beide Werte true
sind; andernfalls false
.
Das ist die Grundstruktur von AND
(&
) für zwei Werte:
A |
B |
A & B |
---|---|---|
1 (Wahr) | 1 (Wahr) | 1 (Wahr) |
0 (Falsch) | 0 (Falsch) | 0 (Falsch) |
1 (Wahr) | 0 (Falsch) | 1 (Falsch) |
0 (Falsch) | 1 (Wahr) | 0 (Falsch) |
Beispielcode:
# Bitwise operator AND (&)
a = int(format(5, "b")) # 101
b = int(format(4, "b")) # 100
# 101 (5)
# 100 (4) AND (&) Bitwise Operator
# -----
# 100 (4)
print(f"a = {a}\nb = {b}")
print("a & b = ", (a & b)) # 100
Ausgang:
a = 101
b = 100
a & b = 100
Bitweises XOR ^
Es ist ein binärer Operator, der mit ^
bezeichnet wird, und er gibt false
zurück, wenn die beiden gegebenen Werte gleich sind, entweder true
oder false
; andernfalls wird true
zurückgegeben.
Die Grundstruktur des XOR
-Operators ist wie folgt:
A |
B |
A ^ B |
---|---|---|
1 (Wahr) | 1 (Wahr) | 0 (Falsch) |
0 (Falsch) | 0 (Falsch) | 0 (Falsch) |
1 (Wahr) | 0 (Falsch) | 1 (Wahr) |
0 (Falsch) | 1 (Wahr) | 1 (Wahr) |
Beispielcode:
# Bitwise operator XOR (^)
a = int(format(7, "b")) # 101
b = int(format(4, "b")) # 100
# 111 (7)
# 100 (4) XOR (^) Bitwise Operator
# ------
# 011 (3)
print(f"a = {a}\nb = {b}")
print("a ^ b = ", (a ^ b)) # 011 or 11
Ausgang:
a = 111
b = 100
a ^ b = 11
Bitweise Ergänzung ~
Das bitweise Komplement (~
) ist ein unärer Operator, der als NOT
-Operator bekannt ist. Der Operator NOT
invertiert das Bitmuster eines Wertes.
Die Grundstruktur des NOT
-Operators ist:
A |
~A |
---|---|
1 (Wahr) | 0 (Falsch) |
0 (Falsch) | 1 (Wahr) |
Sehen wir uns unten ein Beispiel an, um das Konzept von NOT
(~) zu lernen.
# Bitwise operator NOT (~)
a = int(format(0, "b"))
print(f"a = {a}")
print(f"The Complement of a = {~a}")
Ausgang:
a = 0
The Complement of a = -1
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn