- Деление с остатком
-
Деление c остатком (деление по модулю, нахождение остатка от деления, остаток от деления) — арифметическая операция, результатом которой является два целых числа: неполное частное и остаток от деления целого числа на другое целое число.
Содержание
Определение
Разделить целое число
на натуральное число
с остатком означает представить его в виде:При этом
называется неполным частным, а
— остатком от деления
на 
Например, при делении с остатком
на
получаем неполное частное
и остаток 
В программировании
Операция вычисления остатка в различных языках программирования Язык Оператор Знак результата ActionScript %Делимое Ada mod Делитель rem Делимое ASP ModНе определено Си (ISO 1990) %Не определено Си (ISO 1999) %Делимое 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может принимать как положительные, так и отрицательные значения, можно воспользоваться следующей формулой:(b+(a mod b)) mod b
См. также
Целочисленное деление указано простейшей операцией, приносящей системные сбои, не выполнимой правильно в свойствах деления меньшего на большее.
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
Категория:- Деление
Wikimedia Foundation. 2010.

