AND, OR, XOR og skift
Les og kombiner biter med trygghet
AND, OR, XOR og skift er en gratis leksjon i Forberedelse til kodeintervjuer på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Forberedelse til kodeintervjuer, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Forberedelse til kodeintervjuer inneholder totalt 4 leksjoner.
Biter er verktøyet ditt
Alle heltall er egentlig en rekke biter, bare nuller og enere. Når du lærer å lese og kombinere dem, får du raske og smarte triks i konkurranser. 🔧
Se binærformen
Bruk Pythons bin() for å se på bitene i et hvilket som helst tall. 0b-prefikset markerer bare at tallet er binært; resten er bitmønsteret.
print(bin(13)) # 0b1101AND beholder felles biter
AND-operatoren (&) gir 1 bare der begge tallene har 1. Den er perfekt for å kontrollere eller maskere felles biter.
print(6 & 3) # 0b110 & 0b011 = 0b010 = 2OR kombinerer biter
OR-operatoren (|) gir 1 overalt der minst ett av tallene har 1. Bruk den til å slå på flagg uten å påvirke resten.
print(6 | 1) # 0b110 | 0b001 = 0b111 = 7XOR finner forskjeller
XOR-operatoren (^) gir 1 der de to bitene er forskjellige. Den er en favoritt i konkurranser for å veksle og finne den som skiller seg ut.
print(6 ^ 3) # 0b110 ^ 0b011 = 0b101 = 5XOR opphever seg selv
Et tall XOR-et med seg selv er alltid 0, og XOR med 0 lar tallet være uendret. Denne egenskapen der operasjonen opphever seg selv, ligger bak mange XOR-oppgaver.
print(7 ^ 7) # 0
print(7 ^ 0) # 7Finn det unike tallet
Hvis alle verdier forekommer to ganger bortsett fra én, XOR-er du dem alle sammen, og parene forsvinner. Det som står igjen, er den unike verdien.
ans = 0
for x in [4, 1, 2, 1, 2]:
ans ^= x
print(ans) # 4Venstreskift multipliserer
Et venstreskift skyver bitene mot venstre og legger til nuller på høyre side. Hvert skift med én dobler verdien, akkurat som multiplikasjon med en toerpotens.
print(3 << 2) # 3 * 4 = 12Høyreskift dividerer
Et høyreskift fjerner biter fra høyre ende. Hvert skift med én halverer verdien og utfører heltallsdivisjon med en toerpotens.
print(20 >> 2) # 20 // 4 = 5Lag en toerpotens
Ved å skifte 1 k plasser til venstre bygger du verdien 2 opphøyd i k umiddelbart. Dette er den enkleste måten å lage masker med én enkelt bit på.
print(1 << 5) # 32Fart betyr noe i konkurranser
Bitvise operatorer kjører i ett raskt trinn, så det å bytte ut aritmetikk med skift kan redde en løsning som ligger på grensen av tidsgrensen. Lær dem grundig. ⚡
Rask sjekk
På tide å teste bitoperatorene dine.
Oppsummering: bitoperatorer
Du har møtt AND, OR, XOR og skift: kombiner, veksle og skaler biter i ett raskt trinn. Dette er byggesteinene for alle bittriksene som kommer. 🎉
Lær deg Forberedelse til kodeintervjuer med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 90
- Leksjoner
- 360
Ofte stilte spørsmål
Er leksjonen «AND, OR, XOR og skift» gratis?
Ja – hele teksten i «AND, OR, XOR og skift» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Forberedelse til kodeintervjuer-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Forberedelse til kodeintervjuer inneholder totalt 4 leksjoner.
Hva lærer jeg i «AND, OR, XOR og skift»?
Les og kombiner biter med trygghet Du øver på Forberedelse til kodeintervjuer med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Forberedelse til kodeintervjuer?
Ingen tidligere erfaring er nødvendig. Forberedelse til kodeintervjuer på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.
Hvor lang tid tar leksjonen «AND, OR, XOR og skift»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Forberedelse til kodeintervjuer-leksjonen?
Ja. Alle Forberedelse til kodeintervjuer-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- AND, OR, XOR og skift
- Sett, nullstill og inverter en bit
- Tell biter og finn laveste satte bit
- Bitmasker som små mengder