Ein Bit setzen, löschen und umschalten
Bearbeiten Sie ein einzelnes Bit mit Masken
Ein Bit setzen, löschen und umschalten ist eine kostenlose Coding Interview Prep-Lektion auf CoddyKit. Dies ist Lektion 2 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 Coding Interview Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Coding Interview Prep-Kurs umfasst insgesamt 4 Lektionen.
Ein Bit nach dem anderen bearbeiten
Manchmal müssen Sie ein einzelnes Bit ändern, ohne die anderen zu beeinflussen. Der Trick besteht darin, eine Maske zu erstellen, die genau auf das gewünschte Bit zielt. 🎯
Eine Einzelbitmaske erstellen
Verschieben Sie 1 an die gewünschte Position, und Sie erhalten eine Maske mit einem gesetzten Bit. Position 0 ist das Bit ganz rechts.
mask = 1 << 3 # 0b1000, targets bit 3Ein Bit mit OR setzen
Um ein Bit zu setzen, verknüpfen Sie die Zahl mit der Maske per OR. OR setzt diese Position auf 1 und lässt alle anderen Bits unverändert. Dies nennen wir das Setzen eines Bits.
n = 0b0001
n |= (1 << 2) # 0b0101Setzen ist idempotent
Wenn das Bit bereits 1 ist, ändert erneutes Setzen nichts. OR mit einer Maske kann sicher wiederholt werden, wodurch es sich in Schleifen zuverlässig einsetzen lässt. 👍
Die invertierte Maske
Um ein Bit zu löschen, benötigen Sie eine Maske, bei der diese Position AUS und alle anderen EIN sind. Der NOT-Operator (~) invertiert jedes Bit Ihrer einfachen Maske.
clear = ~(1 << 2) # ...11111011Ein Bit mit AND löschen
Verknüpfen Sie die Zahl per AND mit der invertierten Maske, um dieses Bit auf 0 zu setzen und den Rest beizubehalten. So können Sie ein einzelnes Bit löschen.
n = 0b0111
n &= ~(1 << 1) # 0b0101Ein Bit mit XOR umschalten
XOR mit einer Ein-Bit-Maske invertiert diese Position: Aus 0 wird 1 und aus 1 wird 0. Dieses Umschalten ist die eleganteste Einzeiler-Lösung der drei.
n = 0b0101
n ^= (1 << 0) # 0b0100Prüfen, ob ein Bit gesetzt ist
Verknüpfen Sie die Zahl per AND mit einer Ein-Bit-Maske. Ist das Ergebnis ungleich null, ist dieses Bit gesetzt; ist es null, ist das Bit nicht gesetzt.
n = 0b0100
on = (n & (1 << 2)) != 0 # TrueDas Bit als 0 oder 1 auslesen
Verschieben Sie die Zahl nach rechts, um Ihr Zielbit an die unterste Position zu bringen, und verknüpfen Sie sie anschließend per AND mit 1. So erhalten Sie genau den Bitwert 0 oder 1.
n = 0b1010
bit = (n >> 1) & 1 # 1Warum Bitänderungen wichtig sind
Durch Setzen, Löschen und Umschalten können Sie viele Ein-/Aus-Schalter in einer einzigen Ganzzahl speichern. Das ist der Kern eines kompakten Zustands mit Bitmasken in Wettbewerbsaufgaben.
Auf den Off-by-one-Fehler achten
Bitpositionen beginnen bei 0, daher befindet sich Bit k im Wert 1, der um k Stellen nach links verschoben wurde. Die Verwechslung des Index ist hier der häufigste Fehler von Anfängern.
Kurztest
Wählen Sie die richtige Operation zum Löschen eines Bits.
Rückblick: Setzen, Löschen, Umschalten
OR setzt, AND mit NOT löscht und XOR schaltet ein einzelnes Bit um. Beherrschen Sie diese drei Masken, können Sie jedes gewünschte Bit steuern. 🎉
Häufig gestellte Fragen
Ist die Lektion „Ein Bit setzen, löschen und umschalten“ kostenlos?
Ja — der vollständige Text von „Ein Bit setzen, löschen und umschalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Coding Interview Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Coding Interview Prep-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Ein Bit setzen, löschen und umschalten“?
Bearbeiten Sie ein einzelnes Bit mit Masken Du übst Coding Interview Prep 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 Coding Interview Prep zu starten?
Keine Vorkenntnisse erforderlich. Coding Interview Prep 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 2 von 4.
Wie lange dauert die Lektion „Ein Bit setzen, löschen und umschalten“?
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 Coding Interview Prep-Lektion Code schreiben und ausführen?
Ja. Jede Coding Interview Prep-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
- AND, OR, XOR und Shifts
- Ein Bit setzen, löschen und umschalten
- Bits und das niedrigste gesetzte Bit zählen
- Bitmasken als kleine Mengen