AND, OR, XOR och skiftningar
Läs och kombinera bitar med säkerhet
AND, OR, XOR och skiftningar är en gratis lektion i Förberedelse inför kodningsintervjuer på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Förberedelse inför kodningsintervjuer, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Förberedelse inför kodningsintervjuer innehåller totalt 4 lektioner.
Bitar är Ditt verktyg
Varje heltal är egentligen en rad med bitar, bara 0:or och 1:or. När Du lär Dig att läsa och kombinera dem får Du snabba och smarta knep i tävlingsprogrammering. 🔧
Se det binära
Använd Pythons bin() för att titta på bitarna i vilket tal som helst. Prefixet 0b markerar bara att talet är binärt; resten är bitmönstret.
print(bin(13)) # 0b1101AND behåller gemensamma bitar
AND-operatorn (&) ger 1 endast där båda talen har 1. Den passar perfekt för att kontrollera eller maskera gemensamma bitar.
print(6 & 3) # 0b110 & 0b011 = 0b010 = 2OR kombinerar bitar
OR-operatorn (|) ger 1 överallt där något av talen har 1. Använd den för att slå på flaggor utan att påverka resten.
print(6 | 1) # 0b110 | 0b001 = 0b111 = 7XOR hittar skillnader
XOR-operatorn (^) ger 1 där de två bitarna skiljer sig åt. Den är en favorit i tävlingsprogrammering för att växla bitar och hitta den udda biten.
print(6 ^ 3) # 0b110 ^ 0b011 = 0b101 = 5XOR tar ut sig självt
Ett tal XOR:at med sig självt blir alltid 0, och XOR med 0 lämnar talet oförändrat. Denna egenskap där allt tar ut sig driver många XOR-problem.
print(7 ^ 7) # 0
print(7 ^ 0) # 7Hitta det unika talet
Om varje värde förekommer två gånger utom ett, XOR:ar Du ihop alla värden så försvinner paren. Det som blir kvar är det unika värdet.
ans = 0
for x in [4, 1, 2, 1, 2]:
ans ^= x
print(ans) # 4Vänsterskift multiplicerar
Ett vänsterskift flyttar bitarna uppåt och lägger till nollor till höger. Varje skift med ett steg fördubblar värdet, som vid multiplikation med en tvåpotens.
print(3 << 2) # 3 * 4 = 12Högerskift dividerar
Ett högerskift tar bort bitar från högerkanten. Varje skift med ett steg halverar värdet och utför heltalsdivision med en tvåpotens.
print(20 >> 2) # 20 // 4 = 5Skapa en tvåpotens
Genom att skifta 1 åt vänster med k positioner skapar Du direkt värdet 2 upphöjt till k. Det är det renaste sättet att skapa masker med en enda bit.
print(1 << 5) # 32Hastighet spelar roll i tävlingsprogrammering
Bitvisa operatorer körs i ett enda snabbt steg, så att ersätta aritmetik med skift kan rädda en lösning som ligger nära tidsgränsen. Lär Dig dem ordentligt. ⚡
Snabb kontroll
Dags att testa Dina bitoperatorer.
Sammanfattning: bitoperatorer
Du har mött AND, OR, XOR och skiftoperatorer: kombinera, växla och skala bitar i ett enda snabbt steg. Det här är byggstenarna för alla kommande bittrick. 🎉
Lär dig Förberedelse inför kodningsintervjuer med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 90
- Lektioner
- 360
Vanliga frågor
Är lektionen ”AND, OR, XOR och skiftningar” gratis?
Ja – hela texten till ”AND, OR, XOR och skiftningar” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Förberedelse inför kodningsintervjuer, kan Ni uppgradera till CoddyKit PRO. Kursen i Förberedelse inför kodningsintervjuer innehåller totalt 4 lektioner.
Vad lär jag mig i ”AND, OR, XOR och skiftningar”?
Läs och kombinera bitar med säkerhet Ni övar på Förberedelse inför kodningsintervjuer med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Förberedelse inför kodningsintervjuer?
Du behöver inga förkunskaper. Utbildningen i Förberedelse inför kodningsintervjuer på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”AND, OR, XOR och skiftningar”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Förberedelse inför kodningsintervjuer-lektionen?
Ja. Varje Förberedelse inför kodningsintervjuer-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- AND, OR, XOR och skiftningar
- Sätt, rensa och växla en bit
- Räkna bitar och lägsta satta bit
- Bitmasker som små mängder