0Pricing
Coding Interview Prep · Lekcja

Ustawianie, czyszczenie i przełączanie bitu

Edycja pojedynczego bitu za pomocą masek

Ustawianie, czyszczenie i przełączanie bitu to bezpłatna lekcja Coding Interview Prep na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Coding Interview Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Coding Interview Prep zawiera 4 lekcji w sumie.

Edytuj po jednym bicie

Czasami trzeba zmienić pojedynczy bit bez naruszania pozostałych. Rozwiązaniem jest utworzenie maski, która wskazuje dokładnie wybrany bit. 🎯

Utwórz maskę pojedynczego bitu

Przesuń 1 na wybraną pozycję, a otrzymasz maskę z jednym ustawionym bitem. Pozycja 0 to bit najbardziej wysunięty na prawo.

mask = 1 << 3  # 0b1000, targets bit 3

Ustaw bit za pomocą OR

Aby włączyć bit, wykonaj operację OR liczby z maską. OR wymusza wartość 1 na tej pozycji i pozostawia wszystkie pozostałe bity bez zmian. Nazywamy to ustawianiem bitu.

n = 0b0001
n |= (1 << 2)  # 0b0101

Ustawianie jest idempotentne

Jeśli bit ma już wartość 1, ponowne ustawienie go niczego nie zmienia. Operację OR z maską można bezpiecznie powtarzać, dzięki czemu dobrze sprawdza się wewnątrz pętli. 👍

Odwrócona maska

Aby wyczyścić bit, potrzebna jest maska, w której dana pozycja jest wyłączona, a wszystkie pozostałe włączone. Operator NOT (~) odwraca każdy bit prostej maski.

clear = ~(1 << 2)  # ...11111011

Czyszczenie bitu za pomocą AND

Należy wykonać AND liczby z odwróconą maską, aby wymusić wartość 0 danego bitu i zachować pozostałe bity. W ten sposób można wyczyścić pojedynczy bit.

n = 0b0111
n &= ~(1 << 1)  # 0b0101

Przełączanie bitu za pomocą XOR

Operacja XOR z maską pojedynczego bitu odwraca wartość na danej pozycji: 0 staje się 1, a 1 staje się 0. To przełączanie jest najczytelniejszą jednolinijkową operacją z tych trzech.

n = 0b0101
n ^= (1 << 0)  # 0b0100

Sprawdzanie, czy bit jest włączony

Należy wykonać AND liczby z maską pojedynczego bitu. Jeśli wynik jest różny od zera, dany bit jest ustawiony; jeśli wynosi zero, bit jest wyłączony.

n = 0b0100
on = (n & (1 << 2)) != 0  # True

Odczyt bitu jako 0 lub 1

Należy przesunąć liczbę w prawo, aby przenieść wybrany bit na najniższą pozycję, a następnie wykonać AND z 1. W ten sposób otrzymuje się dokładnie wartość bitu: 0 lub 1.

n = 0b1010
bit = (n >> 1) & 1  # 1

Dlaczego modyfikowanie bitów ma znaczenie

Ustawianie, czyszczenie i przełączanie bitów pozwalają przechowywać wiele flag włączonych lub wyłączonych w jednej liczbie całkowitej. To podstawa zwartego stanu opartego na masce bitowej w zadaniach konkursowych.

Uwaga na przesunięcie o jeden

Pozycje bitów zaczynają się od 0, więc bit k odpowiada wartości 1 przesuniętej w lewo o k pozycji. Pomylenie indeksu jest tutaj najczęstszym błędem początkujących.

Szybkie sprawdzenie

Proszę wybrać właściwą operację do wyczyszczenia bitu.

Podsumowanie: ustawianie, czyszczenie i przełączanie

OR ustawia bit, AND z NOT go czyści, a XOR przełącza pojedynczy bit. Opanowanie tych trzech masek pozwala kontrolować dowolny bit. 🎉

Często zadawane pytania

Czy lekcja „Ustawianie, czyszczenie i przełączanie bitu” jest bezpłatna?

Tak — pełny tekst „Ustawianie, czyszczenie i przełączanie bitu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Coding Interview Prep, przejdź na CoddyKit PRO. Kurs Coding Interview Prep zawiera 4 lekcji w sumie.

Co nauczysz się w „Ustawianie, czyszczenie i przełączanie bitu”?

Edycja pojedynczego bitu za pomocą masek Ćwiczysz Coding Interview Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Coding Interview Prep?

Nie wymagamy żadnego doświadczenia. Coding Interview Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Ustawianie, czyszczenie i przełączanie bitu”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Coding Interview Prep?

Tak. Każda lekcja Coding Interview Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. AND, OR, XOR i przesunięcia
  2. Ustawianie, czyszczenie i przełączanie bitu
  3. Zliczanie bitów i najniższy ustawiony bit
  4. Maski bitowe jako małe zbiory
← Powrót do Coding Interview Prep