Открыть сервис

Остаток от деления

Остаток от деления — это результат операции деления двух целых чисел, представляющий собой число, которое остаётся после того, как делимое делится на делитель нацело (то есть без остатка). В математике и программировании операция нахождения остатка от деления является одной из основных арифметических операций, тесно связанной с делением нацело и модульной арифметикой.

Определение и обозначение

Для любых целых чисел \(a\) (делимое) и \(b\) (делитель, \(b \neq 0\)) существует единственная пара целых чисел \(q\) (неполное частное) и \(r\) (остаток), таких что: \[ a = b \cdot q + r, \quad 0 \le r < |b|. \] Здесь \(q\) — результат целочисленного деления \(a\) на \(b\), а \(r\) — остаток от деления. Например, при делении 17 на 5 получаем \(17 = 5 \cdot 3 + 2\), следовательно, остаток равен 2.

В математике остаток часто обозначается как \(a \bmod b\) (читается «a по модулю b»). В программировании для этой операции используются различные обозначения: % (в языках C, C++, Java, Python, JavaScript), mod (в Pascal, Fortran), rem (в некоторых функциональных языках).

Свойства

Остаток от деления обладает рядом фундаментальных свойств:

Особенности в программировании

В большинстве языков программирования операция взятия остатка от деления определена для целых чисел, но её поведение при отрицательных делимых или делителях может различаться. Существует два основных подхода:

  1. Усечённое деление (truncated division): остаток получает знак делимого. Например, в C, C++, Java, JavaScript: \(-17 \bmod 5 = -2\), так как \(-17 = 5 \cdot (-3) + (-2)\).
  2. Деление с округлением вниз (floored division): остаток всегда неотрицателен. Например, в Python: \(-17 \bmod 5 = 3\), так как \(-17 = 5 \cdot (-4) + 3\).

В математике и теории чисел обычно используется второй подход (так называемое «евклидово деление»), при котором остаток всегда неотрицателен. Различие в реализации важно учитывать при переносе кода между языками.

Применение

Операция нахождения остатка от деления широко используется в различных областях:

Математика и криптография

Программирование

Информатика и алгоритмы

Повседневная жизнь

Интересные факты

Связанные понятия

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →