Skip to content

Data study

Nous avons rond-pointé 306 conversions d'unités un million de fois. Voici la précision que vous perdez réellement.

Arrondir tous les trajets de conversion un million de fois. 88,2 % des paires dérivent exactement zéro ; le pire cas perd de précision au 15e chiffre significatif. Voici pourquoi — et quelles catégories sont parfaitement stables.

By Published

Chaque conversion d’unité sur le web s’exécute sur la virgule flottante double précision IEEE 754 — le même format de nombre 64 bits que JavaScript, les feuilles de calcul et la plupart des calculatrices utilisent. Il est précis à environ 15–16 chiffres significatifs, mais il n’est pas infiniment précis : la plupart des fractions décimales ne peuvent pas être stockées exactement en binaire. Cela soulève une question naturelle. Si vous convertissez un nombre d’une unité à une autre et vice versa, obtenez-vous le nombre d’origine ? Et si vous recommencez, et encore — l’erreur s’accumule-t-elle ?

Nous l’avons testé de manière exhaustive. Pour tous les 306paires de conversion principales du catalogue de Convertitive (chaque catégorie sauf la température, qui est une conversion de décalage plutôt qu’un pur ratio), nous avons commencé à la valeur 1, converti d’avant en arrière, et répété ce trajet aller-retour un million de fois. Ensuite, nous avons mesuré combien le résultat avait dérivé de 1.

Résultat 1 : 88 % des conversions ne dérivent jamais du tout

Des 306 paires, 270 (88,2 %) sont revenues à exactement 1 après un million de trajets aller-retour — identiques bit par bit, zéro erreur. Ce sont les paires dont le ratio unité-à-unité est exactement représentable en virgule flottante binaire, donc chaque conversion est parfaitement réversible peu importe combien de fois vous la répétez.

C’est un résultat plus fort que celui que la plupart des gens attendent. L’intuition que « l’erreur à virgule flottante accumule toujours » est simplement fausse pour la majorité des conversions réelles.

Résultat 2 : même le pire cas reste précis à 15 chiffres

Les 36 paires restantes ont dérivé — mais de presque rien. Voici les pires contrevenants après un million complet de trajets aller-retour :

Paire de conversionCatégorieDérive absolue après 1 000 000 trajets
milles → pouceslongueur1,78 × 10⁻¹⁵
kPa → mmHgpression1,11 × 10⁻¹⁵
années → secondestemps9,99 × 10⁻¹⁶
oz → tonnespoids8,88 × 10⁻¹⁶
lb → tonnespoids8,88 × 10⁻¹⁶
nœuds → km/hvitesse7,77 × 10⁻¹⁶
bar → psipression6,66 × 10⁻¹⁶
kWh → joulesénergie4,44 × 10⁻¹⁶

La paire simple la plus mauvaise, milles → pouces, a dérivé de 1,78 × 10⁻¹⁵ — environ deux parties dans un quadrillion, après un millionde trajets aller-retour. Un utilisateur normal effectue exactement une conversion, où l’erreur est des millions de fois plus petite encore et s’assoie bien au-dessous du 15e chiffre significatif. En termes pratiques, le résultat est exact.

Résultat 3 : quelles catégories sont parfaitement stables

La dérive se regroupe par catégorie, et le motif s’explique entièrement par la façon dont les définitions d’unités se factorisent en binaire :

CatégoriePaires testéesPaires sans dérivePire dérive
données (octets, bits)3030 (100 %)0
volume5656 (100 %)0
énergie3028 (93 %)4,44 × 10⁻¹⁶
temps3028 (93 %)9,99 × 10⁻¹⁶
poids3026 (87 %)8,88 × 10⁻¹⁶
longueur5648 (86 %)1,78 × 10⁻¹⁵
couple2016 (80 %)4,44 × 10⁻¹⁶
pression3022 (73 %)1,11 × 10⁻¹⁵
puissance128 (67 %)2,22 × 10⁻¹⁶
vitesse128 (67 %)7,77 × 10⁻¹⁶

Les données et le volume sont parfaitement stables— chaque paire fait un trajet aller-retour sans perte. Les unités de données sont les puissances de deux et dix que le binaire gère proprement ; les unités de volume dans ce catalogue partagent des facteurs qui s’annulent exactement. Les catégories avec le plus de dérive — puissance et vitesse — sont dominées par des définitions comme la puissance en chevaux et les nœuds qui tirent dans des facteurs irrationnels en binaire.

Pourquoi cela se produit

La virgule flottante double précision stocke 53 bits de mantisse, donnant un epsilon machine d’environ 2,2 × 10⁻¹⁶ — l’écart le plus petit entre les nombres représentables près de 1. Une conversion se multiplie par un ratio de deux facteurs d’unité. Quand ce ratio est une fraction binaire exacte (ou que les facteurs d’avant et d’arrière s’annulent exactement), le trajet aller-retour est sans perte et la dérive est zéro pour toujours. Quand le ratio n’est pasexactement représentable — comme avec les 0,0254 m du pouce ou les 1609,344 m du mille — chaque conversion s’arrondit à la valeur représentable la plus proche, laissant une erreur sur l’ordre d’un epsilon. Au cours d’un million de trajets, ces erreurs font une promenade aléatoire lente, c’est pourquoi même le pire cas n’atteint que quelques fois 10⁻¹⁵.

L’avantage pratique

La conversion d’unité dans le navigateur est, pour tous les intents et objectifs, exacte. L’erreur est limitée par l’epsilon machine, elle n’accumule pas significativement dans l’utilisation normale, et elle est toujours bien au-dessous de la précision que vous afficheriez jamais. Si vous vous êtes jamais demandé si le chaînage des conversions via un outil corrompt silencieusement vos nombres — ce n’est pas le cas. Pour l’image complète de la façon dont les résultats de Convertitive se comparent aux valeurs de référence autoritaires, voir l’ étude de précision du convertisseur et la méthodologie de conversion.

Méthodologie

Pour chaque paire ordonnée d’unités principales (A, B) dans une catégorie, nous avons calculé v ← v × (factorA / factorB) puis v ← v × (factorB / factorA), en commençant par v = 1, répété 1 000 000 fois, et enregistré |v − 1|. Les facteurs sont les valeurs exactes factorToBasedes données d’unité de Convertitive, dérivées de NIST SP 811. Toute l’arithmétique est IEEE 754 binary64 (le type de nombre natif de JavaScript). La température a été exclue parce qu’elle est une conversion affine (elle a un décalage additif), pas un pur ratio, donc le modèle de trajet aller-retour ci-dessus ne s’applique pas. La procédure est déterministe : les mêmes entrées produisent toujours les mêmes valeurs de dérive rapportées ici.

Frequently asked questions

Qu'est-ce que la dérive de conversion ?
La dérive est la petite erreur qui s'accumule quand vous convertissez une valeur d'une unité à une autre et vice-versa à plusieurs reprises. En arithmétique exacte, convertir 1 mètre en pieds et retour renvoie exactement 1. En arithmétique à virgule flottante double précision IEEE 754 — ce que chaque navigateur et feuille de calcul utilise — les valeurs intermédiaires sont arrondies à 53 bits, donc le trajet aller-retour peut atterrir un cheveu loin d'où il a commencé.
Dois-je m'inquiéter de l'erreur à virgule flottante dans les conversions d'unités ?
Pour tout usage réaliste, non. Après un million de trajets aller-retour, la paire la plus mauvaise que nous avons mesurée (milles en pouces) a dérivé de 1,78 × 10⁻¹⁵ — environ deux parties dans un quadrillion. Une conversion unique du monde réel dérives beaucoup moins que cela, et l'erreur est de nombreux ordres de magnitude en dessous de la précision d'affichage que vous utiliseriez jamais. Les mathématiques sont effectivement exactes à des fins pratiques.
Pourquoi certaines conversions ont-elles zéro dérive ?
Quand le ratio entre deux unités est exactement représentable en virgule flottante binaire, le trajet aller-retour est sans perte. Les puissances de dix qui se résolvent en fractions binaires propres, et les définitions d'unités qui partagent des facteurs, produisent des ratios que le matériel peut stocker exactement. 270 des 306 paires que nous avons testées (88,2 %) sont tombées dans cette catégorie et ont montré zéro dérive même après un million de trajets.
Quelles conversions dérivent le plus ?
Les paires métrique-impériale dont les facteurs de définition ne sont pas des fractions binaires exactes — milles en pouces, kPa en mmHg, nœuds en km/h, kilowatt-heures en joules. Ceux-ci s'appuient sur des facteurs comme 1609,344 m par mille ou 0,0254 m par pouce, qui ne peuvent pas être stockés exactement en binaire, donc chaque conversion introduit une erreur d'arrondi sub-epsilon.
Comment cela a-t-il été mesuré ?
Pour chaque paire de conversion principale, nous avons commencé par la valeur 1, convertie A→B puis B→A, et répété cette boucle 1 000 000 fois en utilisant les facteurs exacts des données d'unité de Convertitive et l'arithmétique standard de double précision. Nous avons ensuite mesuré la différence absolue de la valeur de départ de 1. La température a été exclue parce qu'elle est une conversion affine (décalage), pas un pur ratio. Le calcul est déterministe et reproductible.
Cela signifie-t-il que Convertitive arrondit mes réponses ?
Convertitive calcule avec la précision double complète et n'arrondit que pour l'affichage. La dérive étudiée ici est intrinsèque à l'arithmétique à virgule flottante elle-même, pas à l'arrondi que Convertitive ajoute — et elle est bien plus petite que l'arrondi d'affichage, vous ne la voyez donc jamais.

Sources & references

Authoritative references cited by this piece. Verified by Buğra Sözeri on the dates shown and re-checked at every deploy.

Related

Published June 27, 2026