+ 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 bash % dzielna C (ISO 1990) % nieokreślone C (ISO 1999) % dzielna C++ % nieokreślone 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”. C# % dzielna Cobol MOD (parametr-1 parametr-2) dzielnik CoffeeScript % dzielna %% dzielnikCoffeeScript operators. ColdFusion MOD dzielna Common Lisp mod dzielnik rem dzielna D % dzielna Eiffel \\ dzielna Euphoria remainder dzielna Microsoft Excel, Calc =MOD() dzielnik FileMaker Mod dzielnik Fortran mod dzielna modulo dzielnik GML (Game Maker) mod dzielna div dzielnik Go % dzielna Haskell mod dzielnik rem dzielna 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 Scratch mod dzielna SenseTalk modulo dzielnik rem dzielna Smalltalk \\ dzielnik rem: dzielna Tcl % dzielnik Verilog (2001) % dzielna VHDL mod dzielnik rem dzielna Visual Basic Mod dzielna Modulo (łac. modulus - odmierzone) – 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 zaokrąglenie w dół liczby
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. 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
Przypisy
Kategoria:Arytmetyka modularna Kategoria:Działania na liczbach Kategoria:Informatyka