0Pricing
Zig Academy · Урок

Переполнение: +, +% и +|

Математика с остановкой, циклическим переходом и насыщением.

«Переполнение: +, +% и +|» — бесплатный урок Zig Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Zig Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Zig Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Numbers Have Limits

Every sized integer has a maximum it can hold. Push past it and you hit overflow, the moment a value tries to grow beyond its range.

Zig Catches Overflow

By default, the plain + operator traps overflow. In a safe build, going past the limit stops your program instead of corrupting the value.

var x: u8 = 255;
x = x + 1; // panics: overflow

Why Trapping Helps

A loud crash beats a silent wrong answer. Trapping turns a sneaky bug into an obvious failure you can find and fix fast.

Wrapping Math with +%

Sometimes you want the value to roll over on purpose. The +% operator wraps around, so 255 + 1 in a u8 becomes 0.

var x: u8 = 255;
x = x +% 1; // 0

When Wrapping Is Right

Wrapping shines for counters, hashes, and checksums where roll-over is the intended behavior. You ask for it with the % suffix, never by accident.

Saturating Math with +|

The +| operator clamps to the limit instead of wrapping. A u8 at 255 stays 255, perfect for values that must not exceed a ceiling.

var x: u8 = 255;
x = x +| 1; // 255

Three Choices, One Decision

So + traps, +% wraps, and +| saturates. You pick the behavior that matches your intent, making overflow handling explicit in your code.

The Same Trio for Subtraction

These suffixes are not just for addition. -, -%, and -| give you trapping, wrapping, and saturating subtraction the very same way.

var x: u8 = 0;
x = x -| 1; // 0

And for Multiplication

Multiplication follows the pattern too: *, *%, and *|. The single rule, choose your overflow behavior, applies across the arithmetic operators.

const big = a *% b; // wrap on overflow

Default Builds Stay Safe

In Debug and ReleaseSafe modes, plain operators check for overflow. You only opt out where you have a real reason to wrap or saturate.

Intent Lives in the Code

Because each behavior has its own symbol, a reader sees your overflow intent at a glance. Nothing is assumed; the operator spells it out.

Quick Check

You want a u8 counter to roll over from 255 back to 0. Which operator?

Recap: Pick Your Overflow

Plain math traps, the % suffix wraps, and the | suffix saturates. Choose deliberately, and overflow is never a hidden surprise. 🛡️

Часто задаваемые вопросы

Урок «Переполнение: +, +% и +|» бесплатный?

Да — полный текст урока «Переполнение: +, +% и +|» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Zig Academy, подпишись на CoddyKit PRO. Курс Zig Academy содержит 4 уроков всего.

Чему я научусь в уроке «Переполнение: +, +% и +|»?

Математика с остановкой, циклическим переходом и насыщением. Ты практикуешь Zig Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Zig Academy?

Предыдущий опыт не требуется. Zig Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Переполнение: +, +% и +|»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Zig Academy?

Да. Каждый урок Zig Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Арифметические операторы и операторы сравнения
  2. Переполнение: +, +% и +|
  3. Побитовые операторы
  4. Логика булевых значений и короткое вычисление
← Назад к Zig Academy