Zig Academy · leksjon

Heltall med vilkårlig bredde, som u3

Bruk talltyper med nøyaktig bitbredde.

Leksjon 2 av 413 trinn

Heltall med vilkårlig bredde, som u3 er en gratis leksjon i Zig Academy på CoddyKit. Dette er leksjon 2 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 Zig Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Zig Academy inneholder totalt 4 leksjoner.

Mer enn u8 og u32

Zig er ikke begrenset til de vanlige størrelsene. De kan be om et heltall med hvilken som helst bitbredde, fra u1 helt opp til enorme verdier.

uN-mønsteret

Skriv u etterfulgt av et tall for å få et usignert heltall med nøyaktig så mange biter. u3 lagrer for eksempel tre biter.

const level: u3 = 5;

Også fortegnede varianter

Bytt ut u med en i for å få et signert heltall med valgfri bredde. i4 dekker dermed et lite signert verdiområde.

const delta: i4 = -3;

Nøyaktig kontroll over verdiområdet

En u3 lagrer verdier fra 0 til 7, fordi tre biter gir åtte kombinasjoner. Typen håndhever selv dette området.

Finn grensene

Be typen om grensene med maxInt og minInt i stedet for å huske dem selv.

const hi = std.math.maxInt(u3); // 7
const lo = std.math.minInt(u3); // 0

Selv heltall på én bit

En u1 inneholder bare 0 eller 1 og fungerer som én enkelt rå bit De kan lagre og beregne med direkte.

const bit: u1 = 1;

u0 er en ekte type

Selv u0 finnes. Den kan bare ha verdien 0 og bruker ingen biter, noe som er nyttig i generisk kode.

Perfekt for pakkede felt

Uvanlige bredder som u3 og u5 er ideelle i en packed struct, fordi hvert felt får nøyaktig de bitene det trenger.

const Color = packed struct {
    r: u5,
    g: u6,
    b: u5,
};

Vær oppmerksom på overflow

Hvis De tilordner 8 til en u3, går verdien utenfor området. I sikre moduser oppdager Zig dette ved kjøring i stedet for å la verdien rulle over i stillhet.

Cast for å utvide

Bruk @as eller @intCast for å flytte en smal verdi til en bredere type når De trenger mer plass til beregninger.

const small: u3 = 5;
const big: u16 = @as(u16, small);

Gjør hensikten tydelig

Valgfrie bredder lar typesystemet dokumentere de faktiske begrensningene Deres, slik at en u4 tydelig viser at en verdi aldri overstiger 15. 🎯

Kort kontroll

Tenk over hvor mange forskjellige verdier det er plass til i tre biter.

Oppsummering

De har møtt heltall med valgfri bredde som u3 og i4: nøyaktige verdiområder, perfekte for pakkede felt, med overflow-kontroll i sikre moduser. 🎉

Gratis å komme i gang

Lær deg Zig 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
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Heltall med vilkårlig bredde, som u3» gratis?

Ja – hele teksten i «Heltall med vilkårlig bredde, som u3» 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 Zig Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Zig Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Heltall med vilkårlig bredde, som u3»?

Bruk talltyper med nøyaktig bitbredde. Du øver på Zig Academy 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 Zig Academy?

Ingen tidligere erfaring er nødvendig. Zig Academy 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 2 av 4.

Hvor lang tid tar leksjonen «Heltall med vilkårlig bredde, som u3»?

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 Zig Academy-leksjonen?

Ja. Alle Zig Academy-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

  1. packed struct for nøyaktig layout
  2. Heltall med vilkårlig bredde, som u3
  3. Bitfelt og flagg
  4. extern struct og ABI-layout
← Tilbake til Zig Academy