Modulo

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Ten artykuł dotyczy realizacji reszty i arytmetyki modularnej w informatyce. Zobacz też: reszta i arytmetyka modularna w matematyce.
Modulo w różnych językach programowania i programach
Język Operator Znak ilorazu
ActionScript % Dzielna
Ada mod Dzielnik
rem Dzielna
ASP Mod Nieokreślone
BasiEgaXorz % Dzielna
C (ISO 1990) % Nieokreślone
C (ISO 1999) % Dzielna
C++ % Nieokreślone[1]
C# % Dzielna
Cobol MOD (parametr-1 parametr-2) Dzielnik
CoffeeScript % Dzielna
%% Dzielnik[2]
ColdFusion MOD Dzielna
Common Lisp mod Dzielnik
rem Dzielna
Eiffel \\ Dzielna
Microsoft Excel, Calc[3] =MOD() Dzielnik
Euphoria remainder Dzielna
FileMaker Mod Dzielnik
Fortran mod Dzielna
modulo Dzielnik
GML (Game Maker) mod Dzielna
div Dzielnik
J |~ Dzielnik
Java % Dzielna
JavaScript % Dzielna
Lua % Dzielnik
MathCad mod(x,y) Dzielnik
Mathematica Mod Dzielnik
MATLAB mod Dzielnik
rem Dzielna
MySQL MOD
%
Dzielna
Objective Caml mod Nieokreślone
Occam \ Dzielna
Pascal (Delphi) mod Dzielna
Perl % Dzielnik
PHP % Dzielna
PL/I mod Dzielnik (ANSI PL/I)
Prolog (ISO 1995) mod Dzielnik
rem Dzielna
Python % Dzielnik
QBasic MOD Dzielna
R %% Dzielnik
RPG %REM Dzielna
Ruby % Dzielnik
Scheme modulo Dzielnik
SenseTalk modulo Dzielnik
rem Dzielna
Tcl % Dzielnik
Verilog (2001) % Dzielna
VHDL mod Dzielnik
rem Dzielna
Visual Basic Mod Dzielna

Modulo – operacja wyznaczania reszty z dzielenia jednego typu liczbowego przez drugi. W dalszym ciągu napis będzie oznaczał, iż jest resztą z dzielenia przez .

Są różne sposoby określania reszty, a komputery i kalkulatory mają różne sposoby przechowywania i reprezentowania liczb, więc wynik operacji modulo zależy od języka programowania i/lub sprzętu.

W niemal każdym systemie komputerowym współczynnik wynikający z dzielenia jest ograniczany do zbioru liczb całkowitych, a reszta jest zwykle ograniczona przez albo . Wybór między dwiema możliwymi resztami zależy od znaku lub oraz użytego języka programowania. Niektóre języki programowania, jak na przykład C89, nawet nie definiują wyniku jeśli zarówno jak i jest ujemne – patrz tabela.

modulo 0 jest nieokreślone w większości systemów, choć niektóre określają je jako . Jeśli definicja jest spójna z algorytmem dzielenia, wtedy implikuje , co jest sprzeczne (tzn. zwykła reszta w tym wypadku nie istnieje).

Reszta może być wyznaczana równaniami, które korzystają z innych funkcji. Jednym z takich użytecznych równań wyznaczania reszty jest

gdzie oznacza podłogę x.

Przypisy

  1. według ISO/IEC 14882:2003 "(...) operator binarny % wyznacza resztę z dzielenia pierwszego wyrażenia przez drugie (...) Jeśli oba operandy są nieujemne to reszta jest nieujemna; w przeciwnym razie znak reszty jest zależny od implementacji ".
  2. CoffeeScript operators
  3. https://help.libreoffice.org/Calc/Mathematical_Functions/pl#MOD