Bitweise Operatoren und Überlaufoperatoren
Manipulieren Sie Bits und verwenden Sie Überlaufoperatoren wie &+ sicher.
Bitweise Operatoren und Überlaufoperatoren ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Bitweise Operatoren
Bitweise Operatoren arbeiten mit den einzelnen Binärziffern von Ganzzahlen. Swift bietet UND &, ODER |, XOR ^, NICHT ~ sowie Verschiebungen mit << und >>.
let a: UInt8 = 0b1100
let b: UInt8 = 0b1010
print(a & b)
print(a | b)Bitweises UND
& setzt jedes Ergebnisbit nur dann auf 1, wenn beide Eingabebits 1 sind. Der Operator wird häufig verwendet, um Bits zu maskieren.
let value: UInt8 = 0b10110101
let mask: UInt8 = 0b00001111
let low = value & mask
print(low)Bitweises ODER
| setzt jedes Ergebnisbit auf 1, wenn mindestens eines der Eingabebits 1 ist. Das ist nützlich, um Flags zu kombinieren.
let flagsA: UInt8 = 0b0001
let flagsB: UInt8 = 0b0100
let combined = flagsA | flagsB
print(combined)Bitweises XOR
^ setzt ein Bit nur dann auf 1, wenn sich die beiden Eingabebits unterscheiden. XOR mit demselben Wert zweimal stellt den ursprünglichen Wert wieder her.
let original: UInt8 = 0b1010
let key: UInt8 = 0b0110
let encoded = original ^ key
let decoded = encoded ^ key
print(encoded, decoded)Bitweise Negation
Das unäre ~ kehrt jedes Bit um. Bei einem UInt8 werden alle 8 Bits umgekehrt.
let bits: UInt8 = 0b00001111
let inverted = ~bits
print(inverted)Linksverschiebung
<< verschiebt Bits nach links und füllt rechts mit Nullen auf. Jede Linksverschiebung um 1 multipliziert einen vorzeichenlosen Wert mit 2.
let n: UInt8 = 0b00000011
print(n << 1)
print(n << 2)Rechtsverschiebung
>> verschiebt Bits nach rechts. Bei vorzeichenlosen Ganzzahlen wird mit Nullen aufgefüllt, wodurch effektiv durch Zweierpotenzen dividiert wird.
let n: UInt8 = 0b00010000
print(n >> 1)
print(n >> 4)Überlauf mit normalen Operatoren
Die normale Arithmetik bricht bei einem Überlauf ab, um Ihr Programm sicher zu halten: Wenn das Maximum eines Typs überschritten wird, stürzt das Programm normalerweise ab, anstatt den Wert stillschweigend umlaufen zu lassen.
let maxByte = UInt8.max
print("Max UInt8:", maxByte)
let safe = Int(maxByte) + 1
print("Promoted sum:", safe)Überlaufaddition &+
Wenn Sie absichtlich ein Umlaufen des Werts wünschen, verwenden Sie die Überlaufoperatoren. &+ lässt den Wert nach dem Maximum wieder beim Minimum beginnen, anstatt das Programm abstürzen zu lassen.
let maxByte: UInt8 = 255
let wrapped = maxByte &+ 1
print(wrapped)Überlauf bei Subtraktion und Multiplikation
&- und &* lassen Werte auf dieselbe Weise umlaufen. 0 &- 1 ergibt für ein UInt8 den Wert 255.
let zero: UInt8 = 0
print(zero &- 1)
let big: UInt8 = 200
print(big &* 2)Wann Überlaufoperatoren verwendet werden
Verwenden Sie &+ &- &* nur, wenn das Umlaufen des Werts beabsichtigt ist, etwa bei Hashes oder zyklischen Zählern. Andernfalls sollten Sie aus Sicherheitsgründen die abbrechenden Operatoren bevorzugen.
var counter: UInt8 = 254
for _ in 0..<4 {
counter = counter &+ 1
print(counter)
}Kurzer Test
Überlegen Sie, wie das Umlaufen bei einem Überlauf funktioniert.
Rückblick: Bitweise Operatoren und Überlaufoperatoren
Sie haben die Bitoperatoren & | ^ ~ und die Verschiebungsoperatoren << >> kennengelernt, dass normale Arithmetik bei einem Überlauf aus Sicherheitsgründen abbricht und dass &+ &- &* die Grenzen des Typs absichtlich umlaufen lassen.
let mask: UInt8 = 0b1111
let v: UInt8 = 0b10101010
print("Masked:", v & mask)
print("Wrap:", UInt8(0) &- 1)Häufig gestellte Fragen
Ist die Lektion „Bitweise Operatoren und Überlaufoperatoren“ kostenlos?
Ja — der vollständige Text von „Bitweise Operatoren und Überlaufoperatoren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Bitweise Operatoren und Überlaufoperatoren“?
Manipulieren Sie Bits und verwenden Sie Überlaufoperatoren wie &+ sicher. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Swift Academy zu starten?
Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Bitweise Operatoren und Überlaufoperatoren“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?
Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Arithmetische und kombinierte Zuweisungsoperatoren
- Vergleichs- und Identitätsoperatoren
- Logische Operatoren und Kurzschlussauswertung
- Bitweise Operatoren und Überlaufoperatoren