Деление с остатком | это... Что такое Деление с остатком? (original) (raw)
Деление c остатком (деление по модулю, нахождение остатка от деления, остаток от деления) — арифметическая операция, результатом которой является два целых числа: неполное частное и остаток от деления целого числа на другое целое число.
Определение
Разделить целое число на натуральное число
с остатком означает представить его в виде:
При этом называется неполным частным, а
— остатком от деления
на
Например, при делении с остатком на
получаем неполное частное
и остаток
В программировании
Операция вычисления остатка в различных языках программирования
Язык | Оператор | Знак результата |
---|---|---|
ActionScript | % | Делимое |
Ada | mod | Делитель |
rem | Делимое | |
ASP | Mod | Не определено |
Си (ISO 1990) | % | Не определено |
Си (ISO 1999) | % | Делимое[источник не указан 316 дней] |
C++ | % | Не определено[1] |
C# | % | Делимое |
ColdFusion | MOD | Делимое |
Common Lisp | mod | Делитель |
rem | Делимое | |
Delphi | mod | Делимое |
Microsoft Excel | =MOD() (англ. версия) =ОСТАТ() (рус. версия) | Делитель |
Euphoria | remainder | Делимое |
FileMaker | Mod | Делитель |
Fortran | mod | Делимое |
modulo | Делитель | |
GML (Game Maker) | mod | Делимое |
div | Делитель | |
J | |~ | Делитель |
Java | % | Делимое[2] |
JavaScript | % | Делимое |
Lua | % | Делитель |
Mathematica | Mod | Делитель |
MATLAB | mod | Делитель |
rem | Делимое | |
MySQL | MOD % | Делимое |
Objective Caml | mod | Не определено |
Pascal | mod | Делимое |
Perl | % | Делитель |
PHP | % | Делимое |
PL/I | mod | Делитель (ANSI PL/I) |
Prolog (ISO 1995) | mod | Делитель |
Python | % | Делитель |
QBasic | MOD | Делимое |
R | %% | Делитель |
RPG | %REM | Делимое |
Ruby | % | Делитель |
Scheme | modulo | Делитель |
SenseTalk | modulo | Делитель |
rem | Делимое | |
Tcl | % | Делитель |
Verilog (2001) | % | Делимое |
VHDL | mod | Делитель |
rem | Делимое | |
Visual Basic | Mod | Делимое |
Нахождение остатка от деления часто используется в компьютерной технике и телекоммуникационном оборудовании для создания контрольных чисел и получении случайных чисел в ограниченном диапазоне, например в конгруэнтном генераторе случайных чисел.
Обозначения операции взятия остатка в различных языках программирования представлены в таблице справа. Например, в Паскале операция mod
вычисляет остаток от деления, а операция div
осуществляет целочисленное деление, при котором остаток от деления отбрасывается:
78 mod 33 = 12 78 div 33 = 2
Важно отметить, что операция взятия остатка в языках программирования может возвращать отрицательный результат (для отрицательного делимого или делителя). Для нахождения минимального неотрицательного остатка от деления числа a
на положительное число b
, где a
может принимать как положительные, так и отрицательные значения, можно воспользоваться следующей формулой:
См. также
Целочисленное деление указано простейшей операцией, приносящей системные сбои, не выполнимой правильно в свойствах деления меньшего на большее.
A\B = 0 при A<B (A mod B) = A
Проверка:
B*0 + A = A
Примечания
- ↑ _««_ISO/IEC 14882:2003 : Programming languages -- C++»», 5.6.4: International Organization for Standardization, International Electrotechnical Commission, 2003 . «the binary % operator yields the remainder from the division of the first expression by the second. …. If both operands are nonnegative then the remainder is nonnegative; if not, the sign of the remainder is implementation-defined».
- ↑ К. Арнолд, Дж. Гослинг, Д. Холмс Язык программирования Java. — 3-е изд. — М., СПб., Киев: Вильямс, 2001. — С. 173—174. — ISBN 5-8459-0215-0