Einführung in die Bitmaskierung in Python

Zeeshan Afridi 21 Juni 2023
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.

  1. Bitweises ODER |
  2. Bitweises UND &
  3. Bitweises XOR ^
  4. 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 Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn