Calculateur de Modulo
L’opération modulo (ou “mod”) renvoie le reste après une division entière : 17 mod 5 = 2 car 17 = 3·5 + 2. C’est le cœur de l’arithmétique modulaire, de la cryptographie, des fonctions de hachage et du motif “chaque N-ième ligne” en SQL. Ce calculateur accepte des opérandes entiers ou décimaux, affiche explicitement le quotient et le reste, et gère les différences de conventions de signe entre les langages (le % de Python ≠ le % de C pour les négatifs).
Comment calculer a mod b
-
1
Entrez le dividende (a) et le diviseur (b)
Tous les nombres ; décimales et négatifs OK.
-
2
Choisissez la convention de signe
Division tronquée (C, Java, Go), division arrondie vers le bas (Python, Ruby, convention mathématique).
-
3
Lisez le quotient et le reste
a = q·b + r, avec la règle choisie pour le signe de r.
-
4
Voir l'expression mathématique
Les valeurs substituées rendent chaque étape visible.
Deux conventions pour les nombres négatifs
Pour les opérandes positifs, toutes les conventions s’accordent : 17 mod 5 = 2. Pour les négatifs, les langages diffèrent :
| Langage | -17 mod 5 |
Convention |
|---|---|---|
| Python, Ruby | 3 | Arrondi vers le bas |
| C, Java, Go, JS | -2 | Tronqué |
| Manuels de mathématiques | 3 | Arrondi vers le bas (généralement) |
Division arrondie vers le bas : le quotient arrondit vers −∞. Le reste a toujours le signe du diviseur : même signe que b.
Division tronquée : le quotient arrondit vers zéro. Le reste a le signe du dividende : même signe que a.
Pour a = -17, b = 5 :
- Tronqué : q = -3 (arrondi vers 0), r = -17 − (-3)·5 = -2.
- Arrondi vers le bas : q = -4 (arrondi vers -∞), r = -17 − (-4)·5 = 3.
Les deux sont corrects selon la convention. Choisissez celle qui correspond à votre langage.
Où le modulo apparaît
- Temps. Minutes dans une heure, jours de la semaine, secondes dans une journée, toute l’arithmétique modulaire.
- Tables de hachage.
hash(key) mod table_sizechoisit un compartiment (bucket). - Planification en round-robin.
task_i mod worker_countassigne le travail. - Cryptographie. RSA et Diffie-Hellman reposent sur mod
navec de grands nombres premiers. - Chaque N-ième ligne. En SQL :
WHERE id % 3 = 0. - Vérification pair/impair.
n mod 2 == 0signifie pair. - Motifs alternés. Rayures de lignes, coloration d’un élément sur deux.
- Tampons circulaires.
(index + 1) mod sizefait le tour.
Identités utiles
(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 npeut être calculé par exponentiation modulaire rapide en O(log k), critique pour la cryptographie à grands nombres.a mod 1 = 0pour tout entier a.a mod a = 0.
Modulo décimal
Pour les nombres réels, la définition naturelle est a mod b = a − b · floor(a/b). 7.5 mod 2.5 = 0 car 7.5 est un multiple exact. 7.6 mod 2.5 = 0.1.
L’opérateur % de JavaScript fonctionne sur les nombres réels ; fmod de Python fait un mod réel tronqué ; % de Python fait un mod réel arrondi vers le bas.
Exemples résolus
100 mod 7: 100 = 14·7 + 2, donc reste 2.25 mod 4: 25 = 6·4 + 1, donc reste 1.-10 mod 3(arrondi vers le bas) :-10 = -4·3 + 2, reste 2. (Tronqué donnerait-1.)17.5 mod 5: 17.5 = 3·5 + 2.5, reste 2.5.
Questions fréquentes
La plupart du temps, ce sont des synonymes. Formellement, “modulo” implique souvent la convention mathématique (arrondie vers le bas), tandis que “reste” fait souvent référence à la variante tronquée (style C). Les noms apparaissent dans la documentation des langages ; quand cela compte, précisez la convention.
Python suit la convention mathématique (arrondie vers le bas), ce qui maintient le signe du reste correspondant à celui du diviseur. C suit la convention ALU matérielle (tronquée), où le signe du reste correspond à celui du dividende. Aucun n’est faux ; ce sont des choix différents.
Non, la division par zéro est indéfinie. Le calculateur renvoie une erreur pour b = 0.
En général, oui. Vérifiez la spécification de votre langage pour la gestion des nombres négatifs, Python et Ruby diffèrent de C, Java, Go et JavaScript.
Pour les mathématiques de style RSA avec des nombres de 2048 bits, utilisez une bibliothèque dédiée (la fonction pow(a, b, n) de Python, BigInteger.modPow de Java). Ce calculateur gère des valeurs courantes, pas des valeurs de niveau cryptographique.
Outils similaires
Calculateur d’augmentations au crochet
Répartissez augmentations ou diminutions sur un rang ou un tour, par nombre ou total cible, avec mailles de bord et positions source exactes.
Calculateur de guématrie
Calculez la valeur guématrique de n'importe quel mot ou phrase selon six chiffrements anglais : Simple/Ordinal, Full Reduction, Reverse, Sumerian et Jewish/Latin.
Calculateur de rapport volumétrique
Calculez le rapport volumétrique d'un moteur à partir de l'alésage, de la course et du volume de la chambre. Obtenez le RV sous forme X,X:1 ainsi que la cylindrée unitaire, instantanément dans votre navigateur.
Convertisseur acres-hectares
Convertissez les acres en hectares avec le facteur exact 1 acre = 0,40468564224 ha, avec conversion inverse et exemples de parcelles.
Convertisseur N·m en ft-lb
Convertissez les couples en Newton-meter vers ft-lb, lb-ft et in-lb pour manuels d’atelier, roues, vélos et travaux mécaniques.
Convertisseur d’unités de cuisine
Convertissez les unités de volume en cuisine : cuillères à café, cuillères à soupe, onces liquides, tasses, pintes, quarts, gallons, millilitres et litres.
Outil disponible dans d’autres langues
- Calculadora de Módulo [PT]
- 모듈로 계산기 [KO]
- Máy tính modulo [VI]
- Modulo-calculator [NL]
- حاسبة باقي القسمة (Modulo) [AR]
- Modulo-Rechner [DE]
- Modulokalkylator [SV]
- Kalkulator Modulo [ID]
- เครื่องคำนวณโมดูโล (Modulo) [TH]
- 剰余計算機 [JA]
- Calculadora de Módulo [ES]
- Kalkulator modulo [PL]
- Calcolatore Modulo [IT]
- Калькулятор остатка от деления [RU]
- Modulo Hesaplayıcı [TR]
- 取模计算器 [ZH]
- Modulo Calculator [EN]