Interi di larghezza arbitraria come u3
Utilizzi tipi numerici con larghezza in bit esatta.
Interi di larghezza arbitraria come u3 è una lezione Zig Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Zig Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Zig Academy include 4 lezioni in totale.
Oltre u8 e u32
Zig non si limita alle dimensioni consuete. Può richiedere un intero con qualsiasi ampiezza in bit, da u1 fino a valori enormi.
Il modello uN
Scriva u seguito da un numero per ottenere un intero senza segno con esattamente quel numero di bit. Perciò u3 contiene tre bit.
const level: u3 = 5;Anche le versioni con segno
Sostituisca la u con una i per ottenere un intero con segno di qualsiasi ampiezza; i4 copre quindi un piccolo intervallo con segno.
const delta: i4 = -3;Controllo esatto dell'intervallo
Un u3 memorizza valori da 0 a 7, perché tre bit offrono otto combinazioni. È il tipo stesso a imporre questo intervallo.
Individuare i limiti
Chieda al tipo i suoi limiti con maxInt e minInt, invece di doverli memorizzare.
const hi = std.math.maxInt(u3); // 7
const lo = std.math.minInt(u3); // 0Perfino interi a un bit
Un u1 contiene solo 0 o 1 e si comporta come un singolo bit grezzo che può memorizzare ed elaborare direttamente.
const bit: u1 = 1;u0 è un tipo reale
Esiste perfino u0. Può avere soltanto il valore 0 e non occupa bit, una caratteristica utile nel codice generico.
Perfetti per i campi packed
Ampiezze insolite come u3 e u5 sono ideali all'interno di una packed struct, perché permettono a ogni campo di occupare esattamente i bit necessari.
const Color = packed struct {
r: u5,
g: u6,
b: u5,
};Attenzione all'overflow
Assegnare 8 a un u3 supera il suo intervallo. Nelle modalità sicure Zig lo rileva a runtime invece di lasciarlo andare in overflow silenziosamente.
Eseguire il cast per ampliare
Utilizzi @as o @intCast per trasferire un valore di tipo ristretto in un tipo più ampio quando serve maggiore spazio per i calcoli.
const small: u3 = 5;
const big: u16 = @as(u16, small);Esprimere l'intento
Le ampiezze arbitrarie permettono al sistema dei tipi di documentare i vincoli reali: u4 rende chiaro che un valore non supera mai 15. 🎯
Verifica rapida
Rifletta su quanti valori distinti possono essere rappresentati con tre bit.
Riepilogo
Ha conosciuto gli interi ad ampiezza arbitraria come u3 e i4: intervalli esatti, perfetti per i campi packed, con overflow verificato nelle modalità sicure. 🎉
Impara Zig con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Interi di larghezza arbitraria come u3» è gratuita?
Sì — il testo completo di «Interi di larghezza arbitraria come u3» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Zig Academy, passa a CoddyKit PRO. Il corso Zig Academy include 4 lezioni in totale.
Cosa imparerò in «Interi di larghezza arbitraria come u3»?
Utilizzi tipi numerici con larghezza in bit esatta. Eserciti Zig Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Zig Academy?
Non è richiesta alcuna esperienza precedente. Zig Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Interi di larghezza arbitraria come u3»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Zig Academy?
Sì. Ogni lezione Zig Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- packed struct per un layout esatto
- Interi di larghezza arbitraria come u3
- Campi di bit e flag
- extern struct e layout ABI