Arrondis : les règles, et ce qu'elles coûtent

L'arrondi semble être le seul domaine de l'arithmétique qui ne prête pas à discussion. Choisissez une valeur et regardez six règles ne pas s'entendre à son sujet. Arrondissez ensuite ce même nombre en deux étapes au lieu d'une, et regardez la réponse changer.

Chargement de la simulation interactive...

L'arrondi au pair n'est pas une règle plus précise, c'est une règle sans biais 🖖

Lors d'un milieu exact, la valeur se trouve précisément entre deux voisins. Aucune règle ne peut avoir raison, la seule question est de savoir comment avoir tort. La règle scolaire va toujours vers le haut. C'est facile à enseigner et à vérifier. Son coût, c'est d'avoir tort dans la même direction à chaque fois. Chargez une colonne de milieux exacts et appliquez le demi supérieur : le total atterrit un demi-point par valeur au-dessus de la réalité. Il sera 1 000 trop haut sur 2 000 valeurs, 3 200 trop haut sur 6 400. Il n'y a aucune dispersion. Une règle qui ne varie jamais n'a rien d'aléatoire. L'arrondi au pair envoie un milieu vers le voisin qui est pair. Ainsi, 2,5 descend à 2 tandis que 3,5 monte à 4. Sur une colonne qui ne conspire pas, le résultat alterne et les erreurs s'annulent au lieu de s'accumuler. La norme IEEE 754 en a fait le comportement par défaut pour l'arithmétique à virgule flottante, et la plupart des normes comptables l'exigent également. Ils ne l'ont pas fait parce qu'il serait plus précis. Sur un nombre unique, il est parfois pire. Mais il est sans biais sur un grand nombre de valeurs. C'est une propriété différente, et c'est celle qui compte quand on en a beaucoup.

Arrondir deux fois est une opération différente d'arrondir une fois 🖖

Prenez 2,45 à arrondir à l'entier. Ce qui suit la virgule est inférieur à la moitié, la réponse est donc 2. Faites-le maintenant en deux mouvements. À une décimale, 2,45 est un milieu exact et devient 2,5. Et 2,5 à l'entier donne 3. Les deux mouvements ont obéi à la règle, et les réponses sont 2 et 3. Que s'est-il passé ? Le premier arrondi a fabriqué un milieu qui n'existait pas. La valeur d'origine se trouvait prudemment sous la barre de la moitié. Après une étape, elle se retrouvait exactement dessus, laissant la deuxième étape deviner. Balayez chaque valeur à deux décimales jusqu'à 1 000. L'étape intermédiaire change la réponse pour 5,00 % d'entre elles : toute valeur dont les centièmes vont de 45 à 49, soit 5 sur 100. C'est pourquoi une conversion de devises, un calcul de taxe ou une chaîne de conversions d'unités précise à quel moment l'arrondi a lieu. Non pas parce que quelqu'un doute de l'arithmétique. C'est parce qu'« arrondir à la fin » et « arrondir à chaque étape » sont deux calculs différents sous les mêmes habits.

Une erreur biaisée croît avec le nombre ; une erreur équitable croît avec sa racine carrée 🖖

Passez la colonne aux milieux exacts et étirez sa longueur. Le demi supérieur trace une ligne droite. Chaque valeur contribue d'un demi-point dans la même direction, la dérive est donc la moitié du nombre total, indéfiniment, sans la moindre dispersion. Le pair le plus proche trace quelque chose qui vagabonde. Il monte un peu, redescend, traverse zéro pour ressortir de l'autre côté. Mesurée sur 2 000 colonnes différentes, l'ampleur typique de cette marche aléatoire est la moitié de la racine carrée du nombre de valeurs. Elle est d'environ 5 pour cent valeurs, 20 pour mille six cents, 40 pour six mille quatre cents. C'est la signature d'une marche aléatoire, et c'est là toute la différence pratique. À six mille quatre cents valeurs, la règle biaisée se trompe de 3 200 et la règle équitable d'environ 40. Le rapport entre les deux continue de se creuser à chaque ligne ajoutée. L'une croît comme le nombre de valeurs, l'autre comme sa racine carrée. Passez aux montants ordinaires et la même chose se produit, mais plus discrètement. Les milieux exacts y sont rares, avec 11 cas sur 1 000. La majeure partie de la dérive vient de l'arrondi ordinaire, et les deux règles de demi atterrissent à environ 8 du véritable 98 351,63. Essayez ensuite le plancher sur cette même colonne. Il manque 486. Le plancher prélève en effet quelque chose sur presque chaque valeur, et pas seulement sur les milieux exacts.

Problèmes entièrement résolus

  1. Arrondi de 1 000 montants à l'unité entière la plus proche avec un vrai total de 98 351,63 7 étapes

    Un magasin arrondit chacun de ses 1 000 montants à l'unité entière la plus proche et les additionne. Le total exact est de 98 351,63. Calculez à combien s'élève le total arrondi selon chaque règle, et déterminez celle que le magasin devrait utiliser.

    1. Fixez la règle avant de tirer des conclusions de la colonne. Prenez 2,5. Le demi supérieur l'envoie à 3. Le pair le plus proche l'envoie à 2, car 2 est le voisin pair.

    2. Vérifiez que l'arrondi au pair alterne bien, plutôt que de toujours descendre. 3,5 passe à 4 selon les deux règles, car cette fois le voisin pair est celui du dessus.

    3. Passons à la colonne. Sur les 1 000 montants, seuls 11 tombent précisément sur un milieu exact. Les deux règles de demi s'accordent donc sur 989 d'entre eux et peuvent différer d'au plus 11. C'est une unité par milieu exact.

    4. Additionnez les valeurs arrondies. Le demi supérieur donne 98 360, ce qui est 8,37 au-dessus de la vérité. Le pair le plus proche donne 98 354, soit 2,37 au-dessus. L'écart de 6 entre eux provient de ces 11 milieux exacts.

    5. L'essentiel de cette dérive ne vient pas du tout des milieux exacts. Ce sont les arrondis ordinaires qui, sur 1 000 montants classiques, ont à peu près autant de chances d'aller dans un sens que dans l'autre. Pour observer les règles elles-mêmes plutôt que le bruit, passez la colonne aux milieux exacts, où chaque valeur vaut un. Le demi supérieur est alors 500 trop haut, et le pair le plus proche s'écarte de 6.

    6. Essayez le plancher sur la colonne d'origine pour contraster. Il donne 97 866, ce qui est 486 de moins. Le plancher prélève quelque chose sur presque chaque valeur au lieu de se limiter aux milieux exacts. Sa dérive n'a donc pas besoin de milieux exacts pour s'accumuler.

    7. La règle à utiliser dépend par conséquent de ce que l'on cherche à protéger. Pour un reçu unique, n'importe quelle règle de demi fera l'affaire, et la différence ne dépasse jamais un demi-point. Sur un grand livre comptable, seule une règle sans direction privilégiée laisse le total là où il a commencé.

    Réponse

    98 360 avec le demi supérieur, 98 354 avec le pair le plus proche, 97 866 avec le plancher, contre un total exact de 98 351,63. Le magasin devrait utiliser le pair le plus proche. Non pas parce qu'il est plus précis sur un montant donné, où il se révèle parfois pire. C'est parce que ses erreurs n'ont aucune direction et ne s'accumulent donc pas. Le demi supérieur se trompe d'un demi-point sur chaque milieu exact qu'il rencontre. Il va toujours vers le haut, sans la moindre exception.

  2. 1,005 à deux décimales, et le milieu qui n'en est pas un 7 étapes

    Arrondissez 1,005 à deux décimales. Trouvez ce que la machine tient réellement quand vous tapez cela, puis décidez si un tableur qui répond 1,00 a commis une erreur.

    1. En décimal, c'est un milieu exact : 1,005 se tient à égale distance de 1,00 et de 1,01, donc le demi supérieur l'envoie vers le haut et le panneau affiche 1,01.

    2. La machine ne tient pas un décimal. Un double est une somme de puissances de deux, et 0,005 est un deux-centième, dont le dénominateur porte un 5² qu'aucune puissance de deux ne peut fournir. Le développement binaire ne s'arrête jamais.

    3. Ce qui est stocké, c'est le double le plus proche, et il se tient sous 1,005 d'environ 1,07 × 10⁻¹⁶. Comparé exactement, ce n'est pas du tout un milieu, et le demi supérieur l'aurait envoyé vers 1,00.

    4. L'écart devient visible dès que la valeur est mise à l'échelle pour être comparée. 1,005 × 100 vaut 100,49999999999999, dont la partie fractionnaire reste en deçà d'un demi de 1,42 × 10⁻¹⁴.

    5. C'est pourquoi l'arrondi se cale ici. Tout ce qui se trouve à moins de 8 pas machine d'un demi est traité comme un demi, et à cette taille cette fenêtre mesure 1,79 × 10⁻¹³, plus de dix fois la largeur de l'écart. Le panneau répond à la question que vous avez posée sur le décimal plutôt qu'à celle que le binaire a posée.

    6. La tolérance n'est pas gratuite, et la colonne montre ce qu'elle coûte. Mille valeurs se terminant par ,005, chacune poussée vers le haut d'un demi-centième, portent le total 5,00 au-dessus de la vérité. Le pair le plus proche partage les mêmes milieux et ressort à 0,07.

    7. Deux des autres préréglages sont d'une autre nature. 2,5 et 12,5 ont des formes binaires exactes, ce sont donc des milieux dans la machine autant que sur le papier, et aucune tolérance n'intervient. « Exactement la moitié » est une propriété du décimal que vous avez tapé, et elle ne survit dans la machine que pour les moitiés qui en sont vraiment.

    Réponse

    1,01, et un tableur qui répond 1,00 a raison sur le nombre qu'il tient et tort sur le nombre que vous avez tapé. La valeur stockée est 1,07 × 10⁻¹⁶ en dessous de 1,005, donc une comparaison exacte ne voit jamais de milieu, et le calage est ce qui remet la réponse là où un lecteur l'attend. Aucune règle d'arrondi ne répare le problème sous-jacent. L'argent a sa place en centimes entiers, ou dans un type décimal, où 1,005 vaut 1,005 et où la question ne se pose jamais.

Parcours

Écrire un nombre

Références (2)

Exemples de problèmes

  • Un milieu exact - 2,5 se situe exactement entre 2 et 3, et les règles divergent. Le demi supérieur donne 3, le pair le plus proche donne 2. Passez la valeur à 3,5 et elles s'accordent sur 4, car 4 est ici le voisin pair. L'arrondi au pair ne favorise pas la baisse : il alterne.
  • Arrondi deux fois - 2,45 arrondi à l'entier donne 2. Arrondissez-le d'abord à une décimale et il devient 2,5. Puis 2,5 à l'entier donne 3. Aucune des deux étapes n'a enfreint de règle, mais les réponses diffèrent.
  • Le soi-disant bug - 1,005 arrondi à deux décimales devrait donner 1,01. Demandez à JavaScript ou Python et les deux répondent 1,00. En effet, 1,005 n'est pas stocké tel quel, mais un cheveu en dessous, et 1,005 multiplié par 100 donne 100,49999999999999. Cet outil répond 1,01, et la seule raison pour laquelle il le peut est qu'il cherche un milieu exact avec une certaine tolérance, au lieu de tester l'égalité stricte.
  • Une longue colonne - 6 400 valeurs, chacune d'elles tombant précisément sur un milieu exact. Le demi supérieur les envoie toutes dans la même direction. Le total atterrit 3 200 trop haut, soit un demi-point par valeur, sans aucune exception. Le pair le plus proche, sur cette même colonne, finit avec 1 d'écart.