Kalkulator modulo
Operacja modulo (lub “mod”) zwraca resztę z dzielenia całkowitego: 17 mod 5 = 2, ponieważ 17 = 3·5 + 2. To serce arytmetyki zegara, kryptografii, funkcji skrótu oraz wzorca “co N-ty wiersz” w SQL. Ten kalkulator przyjmuje operandy całkowite lub dziesiętne, wyraźnie pokazuje iloraz i resztę oraz obsługuje różnice w konwencji znaku między językami (% w Pythonie ≠ % w C dla liczb ujemnych).
Jak obliczyć a mod b
-
1
Wpisz dzielną (a) i dzielnik (b)
Dowolne liczby; liczby dziesiętne i ujemne są dozwolone.
-
2
Wybierz konwencję znaku
Dzielenie z obcięciem (C, Java, Go), dzielenie z zaokrągleniem w dół (Python, Ruby, konwencja matematyczna).
-
3
Odczytaj iloraz i resztę
a = q·b + r, z wybraną regułą dla znaku r.
-
4
Zobacz wyrażenie matematyczne
Podstawione wartości uwidaczniają każdy krok.
Dwie konwencje dla liczb ujemnych
Dla operandów dodatnich wszystkie konwencje są zgodne: 17 mod 5 = 2. Dla liczb ujemnych języki się różnią:
| Język | -17 mod 5 |
Konwencja |
|---|---|---|
| Python, Ruby | 3 | Zaokrąglanie w dół |
| C, Java, Go, JS | -2 | Obcinanie |
| Podręczniki matematyki | 3 | Zaokrąglanie w dół (zwykle) |
Dzielenie z zaokrągleniem w dół: iloraz zaokrągla się w stronę −∞. Reszta zawsze ma znak dzielnika: ten sam znak co b.
Dzielenie z obcięciem: iloraz zaokrągla się w stronę zera. Reszta ma znak dzielnej: ten sam znak co a.
Dla a = -17, b = 5:
- Obcięcie: q = -3 (zaokrąglone w stronę 0), r = -17 − (-3)·5 = -2.
- Zaokrąglenie w dół: q = -4 (zaokrąglone w stronę -∞), r = -17 − (-4)·5 = 3.
Oba są poprawne w ramach swojej konwencji. Wybierz tę, która pasuje do twojego języka.
Gdzie pojawia się modulo
- Czas. Minuty w godzinie, dni tygodnia, sekundy w dobie, wszystko to arytmetyka modulo.
- Tablice mieszające.
hash(key) mod table_sizewybiera kubełek. - Szeregowanie karuzelowe (round-robin).
task_i mod worker_countprzydziela pracę. - Kryptografia. RSA i Diffie-Hellman opierają się na mod
nz ogromnymi liczbami pierwszymi. - Co N-ty wiersz. W SQL:
WHERE id % 3 = 0. - Sprawdzenie parzystości.
n mod 2 == 0oznacza liczbę parzystą. - Naprzemienne wzory. Pasy w wierszach, kolorowanie co drugiego elementu.
- Bufory cykliczne.
(index + 1) mod sizezawija się na początek.
Przydatne tożsamości
(a + b) mod n = ((a mod n) + (b mod n)) mod n(a · b) mod n = ((a mod n) · (b mod n)) mod n(a^k) mod nmożna obliczyć szybkim potęgowaniem modularnym w czasie O(log k), kluczowe dla kryptografii dużych liczb.a mod 1 = 0dla każdej liczby całkowitej a.a mod a = 0.
Modulo liczb dziesiętnych
Dla liczb rzeczywistych naturalna definicja to a mod b = a − b · floor(a/b). 7.5 mod 2.5 = 0, ponieważ 7,5 jest dokładną wielokrotnością. 7.6 mod 2.5 = 0.1.
Operator % w JavaScripcie działa na liczbach rzeczywistych; fmod w Pythonie wykonuje rzeczywiste modulo z obcięciem; % w Pythonie wykonuje rzeczywiste modulo z zaokrągleniem w dół.
Rozwiązane przykłady
100 mod 7: 100 = 14·7 + 2, więc reszta 2.25 mod 4: 25 = 6·4 + 1, więc reszta 1.-10 mod 3(zaokrąglenie w dół):-10 = -4·3 + 2, reszta 2. (Obcięcie dałoby-1.)17.5 mod 5: 17,5 = 3·5 + 2,5, reszta 2,5.
Najczęściej zadawane pytania
W większości przypadków to synonimy. Formalnie “modulo” często oznacza konwencję matematyczną (zaokrąglanie w dół), a “remainder” (reszta) zwykle odnosi się do wariantu z obcięciem (styl C). Nazwy te przenikają do dokumentacji języków; gdy ma to znaczenie, jasno określ konwencję.
Python stosuje konwencję matematyczną (zaokrąglanie w dół), przez co znak reszty odpowiada znakowi dzielnika. C stosuje konwencję sprzętowej jednostki ALU (obcięcie), w której znak reszty odpowiada znakowi dzielnej. Żadna nie jest błędna; to po prostu różne wybory.
Nie, dzielenie przez zero jest niezdefiniowane. Kalkulator zwraca błąd dla b = 0.
Zwykle tak. Sprawdź specyfikację swojego języka pod kątem obsługi liczb ujemnych, Python i Ruby różnią się od C, Java, Go i JavaScript.
Do matematyki w stylu RSA z liczbami 2048-bitowymi użyj dedykowanej biblioteki (pow(a, b, n) w Pythonie, BigInteger.modPow w Javie). Ten kalkulator obsługuje codzienne wartości, a nie wartości klasy kryptograficznej.
Powiązane narzędzia
Kalkulator numerologii imienia i nazwiska
Oblicz liczbę przeznaczenia i liczbę ekspresji z pełnego imienia i nazwiska metodą numerologii pitagorejskiej, wraz z krótką interpretacją osobowości.
Kalkulator wysokości gęstościowej
Oblicz wysokość gęstościową z wysokości ciśnieniowej i temperatury powietrza zewnętrznego. Natychmiastowy wynik w stopach oraz temperatura standardowa ISA, do bezpiecznego planowania startu i wznoszenia.
Kalkulator całki potrójnej
Przybliżaj oznaczone całki potrójne dla liczbowych granic x, y i z metodą punktu środkowego w przeglądarce.
Kalkulator amperogodzin
Oblicz czas pracy i zmagazynowaną energię akumulatora na podstawie amperogodzin, napięcia i prądu obciążenia. Otrzymaj czas pracy w godzinach i minutach oraz energię w watogodzinach i kilowatogodzinach.
Kalkulator obudowy subwoofera
Oblicz objętość brutto i netto obudowy, odejmij głośnik, wzmocnienia, terminal i tunel albo wyznacz jeden wymiar zewnętrzny.
Kalkulator okręgu podziałowego otworów
Oblicz PCD, podziałkę kątową i dokładne współrzędne X/Y równomiernie rozmieszczonych otworów, z obrotem, przesunięciem i eksportem CSV.
Narzędzie jest dostępne w innych językach
- Modulokalkylator [SV]
- حاسبة باقي القسمة (Modulo) [AR]
- เครื่องคำนวณโมดูโล (Modulo) [TH]
- Modulo-Rechner [DE]
- Calculadora de Módulo [ES]
- Calculateur de Modulo [FR]
- Kalkulator Modulo [ID]
- 모듈로 계산기 [KO]
- Modulo-calculator [NL]
- Máy tính modulo [VI]
- 剰余計算機 [JA]
- Calculadora de Módulo [PT]
- Modulo Calculator [EN]
- Calcolatore Modulo [IT]
- Калькулятор остатка от деления [RU]
- Modulo Hesaplayıcı [TR]
- 取模计算器 [ZH]