Overflow: +, +% e +|
Aritmetica con trapping, wrapping e saturazione
Overflow: +, +% e +| è 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.
I numeri hanno dei limiti
Ogni intero di dimensione definita ha un valore massimo che può contenere. Superarlo provoca un overflow, cioè il momento in cui un valore tenta di oltrepassare il proprio intervallo.
Zig rileva l'overflow
Per impostazione predefinita, il semplice operatore + intercetta l'overflow. In una build sicura, superare il limite arresta il programma invece di corrompere il valore.
var x: u8 = 255;
x = x + 1; // panics: overflowPerché intercettare l'overflow è utile
Un arresto evidente è preferibile a una risposta errata e silenziosa. L'intercettazione trasforma un bug insidioso in un errore chiaro, che può trovare e correggere rapidamente.
Aritmetica con wrapping con +%
A volte si desidera che il valore ricominci intenzionalmente da capo. L'operatore +% esegue il wrapping, quindi 255 + 1 in un u8 diventa 0.
var x: u8 = 255;
x = x +% 1; // 0Quando il wrapping è appropriato
Il wrapping è ideale per contatori, hash e checksum, quando il riavvolgimento è il comportamento previsto. Lo richiede con il suffisso %, mai per errore.
Aritmetica saturante con +|
L'operatore +| si ferma al limite invece di eseguire il wrapping. Un u8 a 255 rimane 255, perfetto per i valori che non devono superare una soglia massima.
var x: u8 = 255;
x = x +| 1; // 255Tre scelte, una decisione
Quindi + intercetta l'overflow, +% esegue il wrapping e +| satura. Scelga il comportamento che corrisponde alle Sue intenzioni, rendendo esplicita la gestione dell'overflow nel codice.
Lo stesso trio per la sottrazione
Questi suffissi non servono solo per l'addizione. -, -%, e -| offrono rispettivamente sottrazione con intercettazione, wrapping e saturazione, nello stesso modo.
var x: u8 = 0;
x = x -| 1; // 0E anche per la moltiplicazione
Anche la moltiplicazione segue lo stesso schema: *, *%, e *|. La regola unica, scegliere il comportamento dell'overflow, vale per tutti gli operatori aritmetici.
const big = a *% b; // wrap on overflowLe build predefinite rimangono sicure
Nelle modalità Debug e ReleaseSafe, gli operatori semplici verificano l'overflow. Scelga di non farlo solo quando ha un motivo concreto per eseguire il wrapping o la saturazione.
L'intenzione è visibile nel codice
Poiché ogni comportamento ha il proprio simbolo, chi legge vede a colpo d'occhio la Sua intenzione riguardo all'overflow. Nulla viene dato per scontato: è l'operatore a renderla esplicita.
Verifica rapida
Vuole che un contatore u8 passi da 255 a 0. Quale operatore deve usare?
Riepilogo: scelga la gestione dell'overflow
L'aritmetica semplice intercetta l'overflow, il suffisso % esegue il wrapping e il suffisso | applica la saturazione. Scelga con attenzione: l'overflow non sarà mai una sorpresa nascosta. 🛡️
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 «Overflow: +, +% e +|» è gratuita?
Sì — il testo completo di «Overflow: +, +% e +|» è 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 «Overflow: +, +% e +|»?
Aritmetica con trapping, wrapping e saturazione 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 «Overflow: +, +% e +|»?
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
- Operatori aritmetici e di confronto
- Overflow: +, +% e +|
- Operatori bitwise
- Logica booleana e short-circuiting