Quire
Modulo w różnych językach programowania i programach
JęzykOperatorZnak ilorazu
ActionScript%dzielna
Adamoddzielnik
remdzielna
ASPModnieokreślone
bash%dzielna
C (ISO 1990)%nieokreślone
C (ISO 1999)%dzielna
C++%nieokreślone[1]
C#%dzielna
CobolMOD (parametr-1 parametr-2)dzielnik
CoffeeScript%dzielna
%%dzielnik[2]
ColdFusionMODdzielna
Common Lispmoddzielnik
remdzielna
D%dzielna
Eiffel\\dzielna
Euphoriaremainderdzielna
Microsoft Excel, Calc[3]=MOD()dzielnik
FileMakerModdzielnik
Fortranmoddzielna
modulodzielnik
GML (Game Maker)moddzielna
divdzielnik
Go%dzielna
Haskellmoddzielnik
remdzielna
J|~dzielnik
Java%dzielna
JavaScript%dzielna
Lua%dzielnik
MathCadmod(x,y)dzielnik
MathematicaModdzielnik
MATLABmoddzielnik
remdzielna
MySQLMOD
%
dzielna
Objective Camlmodnieokreślone
Occam\dzielna
Pascal (Delphi)moddzielna
Perl%dzielnik
PHP%dzielna
PL/Imoddzielnik (ANSI PL/I)
Prolog (ISO 1995)moddzielnik
remdzielna
Python%dzielnik
QBasicMODdzielna
R%%dzielnik
RPG%REMdzielna
Ruby%dzielnik
Schememodulodzielnik
Scratchmoddzielna
SenseTalkmodulodzielnik
remdzielna
Smalltalk\\dzielnik
rem:dzielna
Tcl%dzielnik
Verilog (2001)%dzielna
VHDLmoddzielnik
remdzielna
Visual BasicModdzielna

Modulo (łac. modulus - odmierzone) – operacja wyznaczania reszty z dzielenia jednego typu liczbowego przez drugi. W dalszym ciągu napis {\displaystyle a\ {\bmod {\ d=r} będzie oznaczał, iż {\displaystyle r} jest resztą z dzielenia {\displaystyle a} przez {\displaystyle d.}[4]

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 {\displaystyle r} jest zwykle ograniczona przez {\displaystyle 0\leqslant r<|d|} albo {\displaystyle -|d|<r\leqslant 0.} Wybór między dwiema możliwymi resztami zależy od znaku {\displaystyle a} lub {\displaystyle d} oraz użytego języka programowania. Niektóre języki programowania, jak na przykład C89, nawet nie definiują wyniku jeśli zarówno {\displaystyle d,} jak i {\displaystyle a} jest ujemne – patrz tabela.

{{mathimg|ffd2487510aa438433a2579450ab2b3d557e5edc|width=1.23ex|height=1.676ex|va=-0.338ex|alt={\displaystyle a}}} modulo 0 jest nieokreślone w większości systemów, choć niektóre określają je jako {\displaystyle a.} Jeśli definicja jest spójna z algorytmem dzielenia, wtedy {\displaystyle d=0} implikuje {\displaystyle 0\leqslant r<0,} 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 {\displaystyle r} jest

{\displaystyle r=a-d\left\lfloor {\frac {a}{d\right\rfloor ,}

gdzie {\displaystyle \lfloor x\rfloor } oznacza zaokrąglenie w dół liczby {\displaystyle x.}

Dzielenie modulo jest powszechnie używane przy obliczaniu cyfry kontrolnej w identyfikatorach. W algorytmie Luhna, numerach PESEL, REGON, NIP, numerach dowodów osobistych, paszportów, numerach towarów EAN, numerach banknotów EURO, numerach kont bankowych IBAN, numerach substancji chemicznych CAS, ISBN, ISMN, ISSN, ISTC, EVN-UIC, numerach recept, prawa wykonywania zawodu lekarza, numerach kontenera i wielu innych[5]. Podstawowym celem użycia cyfry lub znaku kontrolnego jest wykrywanie pomyłek przy ręcznym wprowadzaniu numeru do systemu informatycznego. Wszystkie te metody zapewniają wykrycie zamiany pojedynczego znaku oraz w znacznej większości zamiany sąsiednich znaków, tzw. czeskiego błędu.

Uwagi#edit

  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. ^ Funkcje matematyczne - LibreOffice Help [online], help.libreoffice.org [dostęp 2017-11-25] (ang.).
  4. ^ Ronald L. Graham, Donald E. Knuth, Oren Patashnik: Matematyka konkretna. PWN, 2001, s. 148-151. ISBN 83-01-12124-6.
  5. ^ Weryfikacja cyfry kontrolnej [online], lipiec 2007 [dostęp 2018-10-25].

This article is mirrored from “Modulo” on Polski Wikipedia, revision 80052359, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.

Synced with Wikipedia revision 80052359 · just now