C# Academy · Lektion

Bitvise operatorer og skifteoperatorer

Manipulér bits med &, |, ^, ~ og skifteoperatorer.

Lektion 3 af 413 trin

Bitvise operatorer og skifteoperatorer er en gratis C# Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i C# Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. C# Academy-kurset indeholder 4 lektioner i alt.

Bit og binære tal

Heltal gemmes som bit. Bitvise operatorer arbejder på de enkelte bit. C# tilbyder &, |, ^, ~, << og >>.

using System;

class Program {
    static void Main() {
        int x = 5;
        Console.WriteLine(Convert.ToString(x, 2));
    }
}

Bitvis OG: &

& sætter kun en bit til 1, når begge bit er 1. 5 & 3 sammenligner 101 og 011 og giver 001 = 1.

using System;

class Program {
    static void Main() {
        Console.WriteLine(5 & 3);
        Console.WriteLine(12 & 10);
    }
}

Bitvis ELLER: |

| sætter en bit til 1, når mindst én af bittene er 1. 5 | 3 giver 111 = 7.

using System;

class Program {
    static void Main() {
        Console.WriteLine(5 | 3);
        Console.WriteLine(8 | 1);
    }
}

Bitvis eksklusiv ELLER: ^

^ sætter en bit til 1, når bittene er forskellige. 5 ^ 3 giver 110 = 6.

using System;

class Program {
    static void Main() {
        Console.WriteLine(5 ^ 3);
        Console.WriteLine(7 ^ 7);
    }
}

Bitvis IKKE: ~

~ vender alle bit om. På grund af to-komplementrepræsentationen er ~n lig med -(n + 1).

using System;

class Program {
    static void Main() {
        Console.WriteLine(~5);
        Console.WriteLine(~0);
    }
}

Venstreskift: &lt;&lt;

<< flytter bit mod venstre og udfylder med nuller til højre. Hvert skift med én plads fordobler værdien: 1 << 3 er 8.

using System;

class Program {
    static void Main() {
        Console.WriteLine(1 << 3);
        Console.WriteLine(5 << 1);
    }
}

Højreskift: &gt;&gt;

>> flytter bit mod højre. For positive tal halverer hvert skift værdien: 20 >> 2 er 5.

using System;

class Program {
    static void Main() {
        Console.WriteLine(20 >> 2);
        Console.WriteLine(8 >> 1);
    }
}

Bitmasker

En maske isolerer bestemte bit. Brug OG på en værdi og en maske for kun at beholde disse bit.

using System;

class Program {
    static void Main() {
        int value = 0b1011;
        int mask = 0b0110;
        Console.WriteLine(value & mask);
    }
}

Sæt og ryd bit

Brug | sammen med en maske med én bit for at sætte en bit, og brug & sammen med den inverterede maske for at rydde den.

using System;

class Program {
    static void Main() {
        int flags = 0;
        flags |= (1 << 2);
        Console.WriteLine(flags);
        flags &= ~(1 << 2);
        Console.WriteLine(flags);
    }
}

Kontrol af en bit

Hvis du vil afprøve, om en bit er sat, skal du bruge OG med dens maske og sammenligne resultatet med nul.

using System;

class Program {
    static void Main() {
        int flags = 0b0100;
        bool isSet = (flags & (1 << 2)) != 0;
        Console.WriteLine(isSet);
    }
}

Skift som hurtig multiplikation

Skift er en hurtig måde at multiplicere eller dividere med potenser af to på, hvilket er almindeligt i kode, hvor ydeevnen er vigtig.

using System;

class Program {
    static void Main() {
        int n = 7;
        Console.WriteLine(n << 2);
        Console.WriteLine(n >> 1);
    }
}

Hurtigt tjek

Afprøv din viden om bitvise operatorer.

Opsummering

Bitvise operatorer arbejder bit for bit: & OG, | ELLER, ^ eksklusiv ELLER og ~ IKKE. Skift med << og >> flytter bit mod venstre eller højre og multiplicerer eller dividerer med potenser af to.

Med masker kan du sætte, rydde og afprøve individuelle bit, hvilket er grundlaget for flag og arbejde med data på lavt niveau.

Gratis at komme i gang

Lær C# med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
93
Lektioner
346

Ofte stillede spørgsmål

Er lektionen “Bitvise operatorer og skifteoperatorer” gratis?

Ja — hele teksten til “Bitvise operatorer og skifteoperatorer” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af C# Academy-kurset, skal du opgradere til CoddyKit PRO. C# Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Bitvise operatorer og skifteoperatorer”?

Manipulér bits med &, |, ^, ~ og skifteoperatorer. Du øver dig i C# Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på C# Academy?

Der kræves ingen tidligere erfaring. C# Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Bitvise operatorer og skifteoperatorer”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne C# Academy-lektion?

Ja. Alle C# Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Aritmetiske operatorer og tildelingsoperatorer
  2. Sammenligningsoperatorer og logiske operatorer
  3. Bitvise operatorer og skifteoperatorer
  4. Operatorpræcedens og associativitet
← Tilbage til C# Academy