HOWTO · Python

Binärzahlendarstellung in Python

Dieses Tutorial zeigt, wie man die Binärzahlen mit integrierten Funktionen summiert und wie man die bitweisen Operatoren auf die Binärzahlen anwendet, um die Daten zu manipulieren

Binäre Zahlen bestehen nur aus zwei Werten, 0 und 1. Aus diesen beiden Werten können wir beliebige Kombinationen von Werten erstellen, die auf der Welt existieren.

Um mit den binären Zahlen zu arbeiten, können wir den naiven Ansatz und die in Python integrierten Funktionsbibliotheken verwenden. Der naive Ansatz beginnt mit den letzten Ziffern der Binärzahlen und folgt der Carry-Forward-Methode auf andere Ziffern der Zahl, während die in Python integrierten Funktionen verwendet werden, um die binären Zahlen in Dezimalzahlen umzuwandeln und dann die gewünschten auszuführen Aktionen.

Python-Bitweise-Operatoren helfen Ihnen, mit Binärzahlen auf die effizienteste Weise zu arbeiten. Diese Binärzahlen funktionieren genauso wie Dezimalzahlen, und der einzige Unterschied zur Dezimalzahl ist die Datendarstellung. In diesem Artikel werden wir also sehen, wie man die bitwise-Operatoren in Python manipuliert.

Summe zweier binärer Zahlen in Python

Diese Methode initialisiert zuerst die beiden binären Zahlen als value1 und value2. Darüber hinaus berechnen wir mithilfe der integrierten Python-Funktionen die Summe der Binärzahlen.

Beispielcodes:

# python 3.x
value1 = "0b100"
value2 = "0b110"

sumOfBinaryNumber = bin(int(value1, 2) + int(value2, 2))

print(sumOfBinaryNumber[2:])

Ausgabe:

1010

Bitweise Darstellung in Python

Bei dieser Technik werden wir zunächst die beiden Binärzahlen als Wert 1 und Wert 2 initialisieren. Außerdem werden wir diese Zahlen mit den bitweisen Operationen nach Bedarf manipulieren. Im folgenden Code wird ~ für die NOT-Operation verwendet, ^ für die XOR-Operation, | für ODER-Verknüpfung und & für UND-Verknüpfung.

Beispielcodes:

# python 3.x
value1 = int("1101", 2)
value2 = int("00100110", 2)
print("value1 & value2 =", bin(value1 & value2))
print("value1 |  value2 =", bin(value1 | value2))
print("value1 ^ value2 =", bin(value1 ^ value2))
print("~value1 ^ value2 =", bin(~value1 ^ value2))
print("~value1 =", bin(~value1))
print("~value2 =", bin(~value2))

Ausgabe:

a & b = 0b100
a |  b = 0b101111
a ^ b = 0b101011
~a ^ b = -0b101100
~a = -0b1110
~b = -0b100111