Zahlendarstellung
Python kann Zahlenliterale nicht nur dezimal sondern auch binär, oktal oder hexadezimal darstellen.- a = 12
- b = 0o12: oktal, dezimal 10
- c = 0x12: hexadezimal: dezimal 18
- d = 0x4321_fe09: hexadezimal. Unterstrich verbessert Lesbarkeit, dezimal 1126301193
- e = 0b1100: binär, dezimal 12
- f = 0b0010_1010_1111_0000: binär, Unterstrich für Lesbarkeit, dezimal 10992
- g = 012: führt zu Fehler. Vorangestellte 0 ist nicht erlaubt. Bei anderen Programmiersprachen wird dies gern für die oktale Darstellung verwendet und führt darum oft zu Fehlinterpretationen.
- bin(12): '0b1100'
- hex(12): '0xc'
Bytearray
Ein Bytearray ist, wie der Name schon vermuten lässt, ein Array von Bytes. Es muss nicht anfänglich in der Länge festgelegt werden. Für den Zugriff werden eckige Klammern verwendt.d = bytearray.fromhex("2ef013")
Bitoperationen
bin(12) ist '0b1100'- 12 << 2 ist '0b110000'. Bits werden nach links geshiftet, entspricht einer Multiplikation mit 22
- 12 >> 2 ist '0b11'. Bits werden nach rechts geshiftet, entspricht einer Division durch 22
- bin(0b1100 & 0b1011) führt zu '0b1000' (AND)
- bin(0b1100 | 0b1001) führt zu '0b1101' (OR)
- bin(0b1100 ^ 0b1001) führt zu '0b101' (XOR)