Aller au contenu principal
CalcMax

Calculatrice de reste

Intervalle : -1 000 000 000 – 1 000 000 000

Intervalle : -1 000 000 000 – 1 000 000 000

Résultat

9

Quotient

Reste
2
Vérification
5 * 9 + 2 = 47

Un reste est ce qui subsiste d’un nombre entier après qu’on en a retiré le plus grand nombre entier de fois que le diviseur y tient, et le quotient est ce nombre de fois. Pour 47 et 5, la réponse ne souffre aucune ambiguïté : 5 tient neuf fois dans 47, ce qui fait 45, et il reste 2, donc le quotient est 9 et le reste est 2. Les deux sont liés par une définition plutôt que par une procédure — le dividende égale le diviseur multiplié par le quotient, plus le reste — et cette vérification est imprimée à côté d’eux, parce qu’un quotient et un reste ne sont corrects qu’en couple. Là où l’ambiguïté commence, c’est quand le dividende ou le diviseur est négatif, et c’est tout le sujet de cette page. Deux conventions sont largement répandues et donnent des réponses différentes pour la même entrée. La troncature écarte la partie fractionnaire du quotient exact, donc le quotient se rapproche de zéro, et le reste prend le signe du dividende : −47 ÷ 5 se tronque en −9 avec un reste de −2. L’arrondi vers le bas descend plutôt le quotient au nombre entier inférieur, ce qui rend le reste positif ou nul : −47 ÷ 5 donne −10 avec un reste de 3. Les deux satisfont la définition — 5 × −9 + −2 et 5 × −10 + 3 font tous deux −47 —, donc la définition seule ne peut pas vous dire laquelle un outil donné applique, et c’est exactement pourquoi la convention est ici une entrée plutôt qu’un choix caché. C’est la troncature qui est la convention par défaut, parce que c’est ce que produisent la plupart des langages de programmation et ce que la plupart des gens entendent par division entière ; l’arrondi vers le bas, lui, est ce dont l’arithmétique modulaire a besoin, puisqu’un reste négatif y est inutilisable. Notez que les cas particuliers restants découlent de la définition. Quand le dividende vaut 0, le quotient et le reste valent tous deux 0. Quand le diviseur est plus grand que le dividende, un dividende positif donne un quotient de 0 et un reste égal au dividende. Et quand le diviseur tombe juste, le reste vaut 0 dans les deux conventions.

Les quatre combinaisons de signes de −47 et 5, sous les deux conventions

DividendeDiviseurTronquéEuclidien
-475-9 r -2-10 r 3
-47-59 r -210 r 3
47-5-9 r 2-9 r 2
4759 r 29 r 2

Toute la page en quatre lignes. Lisez d’abord les deux dernières : avec deux nombres positifs, et avec un dividende positif et un diviseur négatif, les deux colonnes donnent la même réponse — 47 ÷ 5 vaut 9 avec un reste de 2 dans les deux cas, et 47 ÷ −5 vaut −9 avec un reste de 2 dans les deux cas. Les conventions ne se séparent qu’à partir du moment où le dividende est négatif. La première ligne est le cas autour duquel la page est construite : −47 ÷ 5 vaut −9 avec un reste de −2 par troncature, et −10 avec un reste de 3 par arrondi vers le bas, deux décompositions correctes du même nombre. La deuxième ligne montre que changer le signe du diviseur modifie le quotient sans rien changer à la façon dont le reste suit la convention, si bien que la règle n’est pas simplement « dividende négatif signifie reste négatif ». Chaque entrée satisfait l’égalité dividende égale diviseur multiplié par quotient plus reste — vérifiez-en une au hasard —, et c’est pourquoi la définition seule ne permet pas de trancher entre les deux colonnes. La table ne suit pas votre saisie ; le panneau au-dessus applique à vos propres nombres la convention que vous avez choisie.

Formule

47 = 5 × 9 + 2 ⇒ quotient 9, reste 2 ; −47 = 5 × −10 + 3 avec la division euclidienne, contre −47 = 5 × −9 + −2 avec la troncature

47
Le dividende, le nombre que l’on divise, un nombre entier allant de −1 000 000 000 à 1 000 000 000. Les valeurs négatives sont acceptées et c’est la raison d’être du champ de convention plus bas. Les décimales sont refusées plutôt qu’arrondies, puisqu’un reste est une affirmation sur des nombres entiers
5
Le diviseur, un nombre entier allant de −1 000 000 000 à 1 000 000 000. Il ne peut pas valoir 0 : aucun quotient ne satisferait la vérification. Il peut aussi être négatif, et un diviseur négatif change le signe du quotient dans les deux conventions — c’est la ligne de vérification qui remet tout d’aplomb
tronqué
La convention qui écarte la partie fractionnaire du quotient exact en le rapprochant de zéro : −47 ÷ 5 donne −9 parce que −9,4 est tronqué en −9. Le reste porte alors le signe du dividende et peut être négatif. C’est ce que produisent la plupart des langages de programmation, et c’est la convention par défaut ici
euclidien
La convention qui descend plutôt le quotient au nombre entier inférieur, de sorte que le reste ne soit jamais négatif : −47 ÷ 5 donne −10 avec un reste de 3. C’est la division euclidienne, et c’est elle dont l’arithmétique modulaire a besoin, parce qu’un reste négatif n’a pas de sens quand il représente une position dans un cycle. Les deux conventions donnent le même résultat dès que les deux nombres sont positifs
quotient 9
Le nombre de fois entières que le diviseur tient dans le dividende. Avec la troncature, c’est le quotient exact privé de sa partie fractionnaire ; avec l’arrondi vers le bas, c’est le quotient exact arrondi à l’entier inférieur. Les deux diffèrent exactement de 1 quand les signes rendent le reste négatif, et jamais autrement
reste 2
Ce qui reste une fois la division faite, et le nombre autour duquel tourne toute la page. Il est toujours plus petit que le diviseur en valeur absolue, et il vaut 0 quand la division tombe juste. Son signe fait toute la différence entre les deux conventions : avec la troncature il suit le dividende, avec l’arrondi vers le bas il ne descend jamais sous 0

Répartir des objets en groupes est le cas de tous les jours, et c’est celui où la convention ne compte jamais : 47 objets répartis par groupes de 5 donnent 9 groupes pleins avec 2 qui restent, et personne n’appellerait cela une réponse de −9 avec −2 en trop. La convention commence à compter dès que les nombres peuvent devenir négatifs, et cela arrive plus souvent qu’il n’y paraît. La division entière en programmation est le cas courant — la plupart des langages tronquent, donc −47 / 5 vaut −9 et le reste vaut −2, et du code qui suppose un reste positif ou nul casse sur une entrée négative. L’arithmétique modulaire est l’autre versant : heures d’horloge, dates de calendrier, parcours circulaire d’une liste et arithmétique machine sur des entiers à largeur fixe ont tous besoin de la version euclidienne, parce que « trois pas en arrière » doit retomber sur une position réelle du cycle. En cours, le reste par troncature est ce qu’on enseigne en même temps que la division posée, les négatifs étant soit exclus, soit traités par la même règle du signe qui suit le dividende. La ligne de vérification mérite d’être utilisée dans tous ces cas, parce que les deux conventions produisent des quotients qui diffèrent de un et des restes qui diffèrent du diviseur, et que les deux couples satisfont la définition — un couple qui ne la satisfait pas est un bug, quelle que soit la convention voulue.

Exemples détaillés

  1. 47 ÷ 5, où les deux conventions s’accordent

    1. 5 tient neuf fois dans 47 : 5 × 9 = 45
    2. 47 − 45 = 2, donc il reste 2
    3. Le quotient exact est 9,4, et le tronquer donne 9
    4. L’arrondir vers le bas donne aussi 9, donc les deux conventions s’accordent ici
    5. Vérification : 5 × 9 + 2 = 47

    La saisie par défaut, et le cas où le champ de convention ne change rien. Les deux conventions s’accordent dès que le dividende et le diviseur ont le même signe, ce qui inclut toutes les paires de nombres positifs — le choix ne se voit qu’à partir du moment où l’un des deux est négatif. Lire la vérification comme une phrase est l’habitude à prendre : le diviseur multiplié par le quotient, plus le reste, doit redonner exactement le dividende.

  2. −47 ÷ 5 par troncature : le reste devient négatif

    1. Le quotient exact est −47 ÷ 5 = −9,4
    2. La troncature écarte la partie fractionnaire et rapproche le quotient de zéro : −9
    3. 5 × −9 = −45, soit 2 de plus que −47, donc il faut retirer ces 2 : le reste est −2
    4. Le reste porte le signe du dividende, et c’est ce qui le rend négatif ici
    5. Vérification : 5 × −9 + −2 = −47

    Le quotient vaut −9 plutôt que −10, et le reste vaut −2 plutôt que 3. Ce couple et le suivant satisfont pourtant la même définition, et c’est tout l’objet de la page : −9 avec un reste de −2 et −10 avec un reste de 3 sont deux décompositions correctes de −47, et c’est la convention qui décide laquelle vous obtenez. La plupart des langages de programmation atterrissent ici, donc du code qui suppose qu’un reste n’est jamais négatif sera surpris par cette ligne.

  3. −47 ÷ 5 par arrondi vers le bas : le reste reste positif ou nul

    1. Le quotient exact est toujours −47 ÷ 5 = −9,4
    2. L’arrondi vers le bas le descend au nombre entier inférieur au lieu de le rapprocher de zéro : −10
    3. 5 × −10 = −50, soit 3 en dessous de −47, donc il reste 3 : le reste est 3
    4. Le reste est positif ou nul, ce que cette convention garantit
    5. Vérification : 5 × −10 + 3 = −47

    Même dividende, même diviseur, réponse différente — et celle-ci n’est pas une correction de l’exemple précédent. L’arrondi vers le bas est ce dont l’arithmétique modulaire a besoin, parce qu’un reste qui représente une position dans un cycle ne peut pas être négatif ; −47 modulo 5 vaut 3 dans ce cadre, et tout résultat d’une opération modulo est censé tomber entre 0 et le diviseur. Le quotient est inférieur de un à celui de la troncature, et le reste est plus grand d’exactement le diviseur, ce qui est la relation fixe entre les deux conventions.

  4. Un diviseur négatif près de la limite : 1 000 000 000 ÷ −999 999 999

    1. Le diviseur est négatif, donc le quotient exact est négatif : environ −1,000000001
    2. Le tronquer en le rapprochant de zéro donne −1
    3. −999 999 999 × −1 = 999 999 999, soit 1 de moins que 1 000 000 000
    4. Le reste vaut 1, et il prend le signe du dividende, qui est positif
    5. Vérification : −999 999 999 × −1 + 1 = 1 000 000 000

    Les deux nombres sont au bord de ce que la page accepte, et le quotient tombe sur −1 parce que le diviseur dépasse tout juste le dividende en valeur absolue. La ligne de vérification est la partie qui mérite d’être lue : deux nombres négatifs dont le produit est positif, plus un reste de 1, retombent exactement sur le dividende. Un diviseur négatif change le signe du quotient dans les deux conventions, tandis que le reste continue de suivre le dividende.

Limites

Le dividende et le diviseur doivent tous deux être des nombres entiers allant de −1 000 000 000 à 1 000 000 000 inclus, et le diviseur ne peut pas valoir 0 dans l’une ou l’autre convention — aucun nombre multiplié par 0 ne redonne un dividende non nul, donc aucun quotient ni reste ne pourrait satisfaire la vérification. Les décimales sont refusées plutôt qu’arrondies : un reste est une affirmation sur des nombres entiers que l’on divise par des nombres entiers. Le champ de convention prend l’une de deux valeurs, la troncature ou l’arrondi vers le bas, et les deux sont toujours disponibles ; il n’existe pas de troisième option, et la page ne devine pas laquelle vous vouliez. Avec deux nombres positifs, le choix ne change rien, et les deux conventions ne sont jamais en désaccord sur autre chose que le signe du reste et un quotient qui diffère de un. Avec la troncature, le reste peut être négatif, et c’est le comportement de la convention et non une erreur. La table de référence plus bas est figée sur ±47 et ±5 et ne suit pas votre saisie : elle déroule les quatre combinaisons de signes pour que les deux conventions se comparent côte à côte, tandis que le panneau au-dessus répond à ce que vous avez tapé. Toutes les valeurs sont exactes — les quatre nombres sont des entiers bien à l’intérieur de la plage qu’une machine représente précisément —, donc rien ici n’est jamais arrondi.

Questions fréquentes

Pourquoi y a-t-il deux réponses pour la même division ?
Parce que la définition dit seulement que le quotient multiplié par le diviseur, plus le reste, doit redonner le dividende, et que pour un dividende négatif un quotient plus petit avec un reste négatif comme un quotient plus grand avec un reste positif la satisfont tous les deux. −47 ÷ 5 vaut −9 avec un reste de −2 quand le quotient est tronqué en direction de zéro, et −10 avec un reste de 3 quand il est arrondi vers le bas. Les deux sont corrects, et c’est la convention qui décide lequel vous obtenez.
Quelle convention dois-je utiliser ?
La troncature est celle par défaut ici, parce que c’est ce que produisent la plupart des langages de programmation et ce que la plupart des gens entendent par division entière — le quotient se rapproche de zéro et le reste prend le signe du dividende. Prenez l’arrondi vers le bas quand le reste doit être positif ou nul : modulo au sens mathématique, positions dans un cycle, arithmétique de calendrier, et tout ce où le reste sert d’indice dans une liste qui se répète. Avec deux nombres positifs, le choix ne change absolument rien.
Quel est le reste quand le diviseur est négatif ?
La même règle s’applique, avec le signe du quotient inversé. 47 ÷ −5 donne −9 avec un reste de 2 par troncature, parce que le reste suit le dividende et non le diviseur. Un diviseur négatif change le signe du quotient et laisse intacte la règle de signe du reste, ce que montre la deuxième ligne du tableau.
Est-ce la même chose que l’opération modulo ?
C’est lié, mais ce n’est pas identique. Modulo ne renvoie que le reste et se définit normalement avec un résultat positif ou nul, ce qui correspond ici à la convention euclidienne. La différence apparaît sur les entrées négatives : −47 modulo 5 vaut 3, tandis que la division entière avec troncature renvoie −2. Si vous voulez un résultat positif ou nul, choisissez l’arrondi vers le bas ; si vous voulez le quotient arrondi vers zéro, choisissez la troncature.
Quel est le reste quand la division tombe juste ?
Zéro, dans les deux conventions. Quand le diviseur tient un nombre entier de fois, il ne reste rien, et la vérification se lit diviseur multiplié par quotient égale dividende, sans troisième terme à surveiller. Un reste de 0 est une réponse normale : elle signifie que la division était exacte, et non que le résultat a échoué.
Pourquoi le diviseur ne peut-il pas être zéro ?
Parce qu’aucun quotient ni reste ne pourrait satisfaire la vérification. Si le diviseur vaut 0, alors 0 multiplié par n’importe quel quotient vaut 0, donc la vérification exigerait que le reste soit égal au dividende tout en étant plus petit que le diviseur en valeur absolue — impossible pour tout dividende non nul, et pour un dividende de 0 la réponse serait tous les nombres à la fois plutôt qu’un seul. La page le refuse au lieu de renvoyer quelque chose d’arbitraire.

Références

Calculatrices liées