Dépassement : +, +% et +|
Calcul avec piège, retour circulaire ou saturation.
Dépassement : +, +% et +| est une leçon Zig Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Zig Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Zig Academy comprend 4 leçons au total.
Les nombres ont des limites
Chaque entier de largeur définie possède une valeur maximale. La dépasser provoque un débordement : c’est le moment où une valeur tente de sortir de sa plage.
Zig détecte les débordements
Par défaut, l’opérateur + ordinaire interrompt l’exécution en cas de débordement. Dans une compilation sûre, dépasser la limite arrête votre programme au lieu de corrompre la valeur.
var x: u8 = 255;
x = x + 1; // panics: overflowPourquoi l’interruption est utile
Un plantage visible vaut mieux qu’une réponse fausse et silencieuse. L’interruption transforme un bogue sournois en échec évident, que vous pouvez trouver et corriger rapidement.
Calcul avec retour cyclique avec +%
Parfois, vous voulez volontairement que la valeur reparte au début. L’opérateur +% effectue un retour cyclique : 255 + 1 dans un u8 devient donc 0.
var x: u8 = 255;
x = x +% 1; // 0Quand le retour cyclique est approprié
Le retour cyclique est idéal pour les compteurs, les hachages et les sommes de contrôle lorsque le dépassement cyclique est voulu. Vous le demandez avec le suffixe %, jamais par accident.
Calcul saturant avec +|
L’opérateur +| bloque la valeur à la limite au lieu d’effectuer un retour cyclique. Un u8 à 255 reste à 255, ce qui convient parfaitement aux valeurs qui ne doivent pas dépasser un plafond.
var x: u8 = 255;
x = x +| 1; // 255Trois choix, une décision
Ainsi, + interrompt l’exécution, +% effectue un retour cyclique et +| sature la valeur. Vous choisissez le comportement correspondant à votre intention, ce qui rend la gestion des débordements explicite dans votre code.
Le même trio pour la soustraction
Ces suffixes ne servent pas uniquement à l’addition. -, -% et -| permettent respectivement une soustraction avec interruption, avec retour cyclique ou avec saturation, de la même manière.
var x: u8 = 0;
x = x -| 1; // 0Et pour la multiplication
La multiplication suit également ce modèle : *, *% et *|. La règle est la même : choisissez le comportement souhaité en cas de débordement pour chaque opérateur arithmétique.
const big = a *% b; // wrap on overflowLes compilations par défaut restent sûres
Dans les modes Debug et ReleaseSafe, les opérateurs ordinaires vérifient les débordements. Vous ne choisissez une autre option que si vous avez une véritable raison d’effectuer un retour cyclique ou une saturation.
L’intention apparaît dans le code
Comme chaque comportement possède son propre symbole, le lecteur voit immédiatement votre intention concernant le débordement. Rien n’est supposé : l’opérateur l’exprime clairement.
Vérification rapide
Vous voulez qu’un compteur u8 reparte de 255 à 0. Quel opérateur utiliser ?
Récapitulatif : choisissez votre comportement en cas de débordement
Les calculs ordinaires interrompent l’exécution, le suffixe % effectue un retour cyclique et le suffixe | sature la valeur. Choisissez délibérément : les débordements ne vous réserveront jamais de surprise cachée. 🛡️
Apprends Zig avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 30
- Leçons
- 120
Questions Fréquemment Posées
La leçon « Dépassement : +, +% et +| » est-elle gratuite ?
Oui — le texte complet de « Dépassement : +, +% et +| » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Zig Academy, passe à CoddyKit PRO. Le cours Zig Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Dépassement : +, +% et +| » ?
Calcul avec piège, retour circulaire ou saturation. Tu pratiques Zig Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Zig Academy ?
Aucune expérience préalable n'est requise. Zig Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Dépassement : +, +% et +| » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Zig Academy ?
Oui. Chaque leçon Zig Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Opérateurs arithmétiques et de comparaison
- Dépassement : +, +% et +|
- Opérateurs bit à bit
- Logique booléenne et évaluation en court-circuit