Что такое операция взятия по модулю?
Операция по модулю, которую записывают как a mod b, возвращает остаток, который остаётся при делении делимого a на модуль (делитель) b. Она встречается буквально повсюду — и в программировании, и в математике: арифметика часов, хеширование, циклический обход списка, проверка делимости и криптография не обходятся без неё. Этот инструмент вычисляет остаток для положительных и отрицательных чисел, а также для дробей и показывает полное пошаговое решение.
Как пользоваться калькулятором
Введите делимое (a) и модуль / делитель (b). Любое из значений может быть отрицательным или дробным — кнопка +/- позволяет быстро поменять знак. Делитель не должен быть равен нулю, потому что деление на ноль не определено. В результате вы увидите остаток, целое частное, дополнительное значение «модуля по полу» (floored) и письменное решение.
Разбор формулы
Калькулятор использует соглашение усечённого деления — то же правило, по которому работает оператор % в C, Java и JavaScript. Сначала частное усекается в сторону нуля: q = trunc(a / b). Затем остаток равен n = a - q*b. Поскольку частное именно усекается, а не округляется вниз, остаток получает знак делимого a. Например, здесь -5 mod 2 = -1, тогда как альтернативное соглашение «по полу» (его мы показываем как дополнительный результат) даёт 1, перенимая знак делителя.
Разобранный пример
Для a = 5, b = 2: частное равно \(\operatorname{trunc}(5/2) = \operatorname{trunc}(2{,}5) = 2\), а остаток — \(5 - 2 \times 2 = 1\). Проверка: 5 разделить на 2 = 2 и 1 в остатке, а \(2 \times 2 + 1 = 5\). Значит, \(5 \bmod 2 = 1\). Дробный случай: \(7{,}5 \bmod 2\) даёт \(\operatorname{trunc}(3{,}75) = 3\) и \(7{,}5 - 3 \times 2 = 1{,}5\).
Частые вопросы
Почему -5 mod 2 = -1, а не 1? Этот инструмент следует «программистскому» соглашению с усечением, поэтому остаток совпадает по знаку с делимым. Строка с модулем «по полу» (floored) показывает математический ответ (1), когда вам нужен знак делителя.
Как проверить делимость? Число x кратно b ровно тогда, когда x mod b = 0. Например, \(496 \bmod 4 = 0\) (кратно), а \(226 \bmod 4 = 2\) (не кратно).
Может ли делитель быть нулём? Нет. Деление на ноль не определено, поэтому при b = 0 калькулятор выдаёт ошибку.