- Деление с остатком
-
Деление 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.