Les unités elles-mêmes sont définies dans le Brochure SI« , et les préfixes binaires qui provoquent cet argument particulier - kibi, mebi, gibi - in » CEI 80 000-13.
Une fois, j'ai envoyé un bogue causé par 24 octets. Une vérification des quotas de stockage dans une application Laravel a comparé la taille d'un fichier téléchargé à une limite que l'équipe de produits avait écrite à 500 Mo. L'écart entre les deux est d'environ 4,6 %, ce qui est invisible lors des tests et extrêmement visible lorsqu'un client de 512 000 000 octets est rejeté en tant que "trop grand" alors que l'interface utilisateur insiste sur le fait qu'elle est sous la limite.
La conversion d'unité ressemble au problème le plus ennuyeux de l'informatique jusqu'à ce qu'elle corrompt silencieusement quelque chose. Chaque conversion a un facteur défini exact - un pouce l'est exactement 0,0254 mètres, une livre est exactement 0,45359237 kilogrammes - et la raison pour laquelle nous nous trompons est que nous transportons plutôt des approximations arrondies. J'ai donc construit le Convertisseur d'unités sur [Toolz.dev](/autour des valeurs définies, couvrant les onze catégories que j'atteins réellement, y compris celles que la plupart des convertisseurs ignorent : les pixels CSS, les points typographiques et les unités de données binaires contre décimales qui ont provoqué mon bug.
tl;dr : Chaque unité d'une catégorie est un multiple fixe d'une unité de base, donc la conversion est une seule multiplication et division - sauf la température, qui a besoin d'une transformation affine car Celsius, Fahrenheit, Kelvin et Rankine ont des points zéro différents Convertisseur d'unités Couvre la longueur, le poids, la température, la surface, le volume, la vitesse, le temps, les données, la pression, l'énergie et l'angle avec les facteurs standard exacts, indique votre valeur dans chaque unité à la fois et s'exécute entièrement dans votre navigateur.
Comment fonctionne réellement la conversion d'unités ?
Choisissez une unité de base par catégorie. Exprimez toutes les autres unités comme un rapport. La conversion se réduit ensuite à une ligne d'arithmétique :
result = value × (fromUnit.ratio / toUnit.ratio)
Pour la longueur, la base est le mètre. Un centimètre a un rapport de 0,01, un pouce a 0,0254. La conversion de 30 cm en pouces est 30 × 0.01 / 0.0254 = 11.811. C'est l'algorithme complet, et il a une propriété utile : parce que chaque conversion s'effectue à travers l'unité de base, vous ne chaînez jamais d'approximations. La conversion de miles en miles nautiques va mile → mètre → mille nautique dans une seule expression plutôt que par le biais d'une table de recherche de facteurs par paires, chacun avec son propre arrondi.
Les unités de base dans le Convertisseur d'unités sont les SI là où ils existent : mètre, kilogramme, seconde, Pascal, Joule, Radian, mètre carré, mètre par seconde. Le volume utilise le litre et les données utilisent l'octet, à la fois pour la lisibilité plutôt que pour une pureté stricte de SI.
La température est l'exception qui brise le modèle, et il vaut la peine de comprendre pourquoi.
Pourquoi la température est-elle différente de toutes les autres unités ?
Parce que les échelles de température sont atténuer, pas proportionnel. Zéro centimètre et zéro pouce ont la même longueur - rien Mais zéro Celsius et zéro Fahrenheit ne sont pas la même température, et aucun d'eux n'est " ; aucune température du tout." ; Les échelles ont à la fois une taille de pas différente et une origine différente.
Une conversion de température nécessite donc deux opérations, pas une : décaler l'origine, puis l'échelle. Les formules standards :
- °F = (°C × 9/5) + 32
- °C = (°F − 32) × 5/9
- k = °C + 273,15
- °r = k × 9/5
En interne le convertisseur achemine tout à travers Kelvin, qui est le seul des quatre avec un zéro physiquement significatif - zéro absolu, le point où le mouvement thermique s'arrête Cela donne également un contrôle de validité libre : si une conversion produit une valeur Kelvin négative, l'entrée était en dessous du zéro absolu et n'est pas une température réelle L'outil le rejette avec une explication plutôt que de renvoyer avec confiance des bêtises, qui est le genre de petite honnêteté qui sépare un outil en qui vous pouvez avoir confiance de celui que vous devez revérifier.
Une référence rapide pour les chiffres que les gens recherchent réellement :
| celsius | Fahrenheit | Kelvin | Qu'est-ce que c' |
|---|---|---|---|
| −273,15 °C | −459,67 °F | 0 k | zéro absolu |
| −40 °C | −40 °F | 233,15 k | Où les deux échelles se croisent |
| 0 °C | 32 °F | 273,15 k | L'eau gèle |
| 20 °C | 68 °F | 293,15 k | température ambiante |
| 37 °C | 98,6 °F | 310,15 K | corps humain |
| 100 °C | 212 °F | 373,15 k | L'eau bout au niveau de la mer |
Le crossover -40 est celui qui vaut la peine d'être mémorisé. C'est le seul point où Celsius et Fahrenheit sont d'accord, et cela permet de vérifier la bonne santé mentale sur toute routine de conversion que vous écrivez.
Quelle est la différence entre MB et MIB ?
C'est la conversion qui coûte de l'argent réel et des heures réelles de chasse aux bugs, donc elle mérite sa propre section.
un mégaoctet (Mo) est de 1 000 000 d'octets - une unité décimale, 106. A Mebioctet (MIB) est de 1 048 576 octets - une unité binaire, 2²0. les préfixes binaires (kibi, mebi, gibi, tebi) ont été standardisés par la CEI en 1998 précisément pour mettre fin à l'ambiguïté, et environ la moitié de l'industrie les a ignorés.
Le résultat est un gâchis que tout le monde a ressenti :
| annoncé | Octets réels | Ce que le système d'exploitation montre | Apparemment "perte" |
|---|---|---|---|
| 1 Ko | 1 000 | 0,98 Kio | 2,4 % |
| 1 Mo | 1 000 000 | 0,95 mi mB | 4,6 % |
| 1 Go | 1 000 000 000 | 0,93 Gib | 7,4 % |
| 1 To | 1 000 000 000 000 | 0,91 tib | 9,9 % |
Les fabricants de disques vendent en unités décimales, car la décimale agrandit le nombre. Les rapports Windows en unités binaires mais les étiquettent " ; GB," ; c'est là que le lecteur " ; mon lecteur 1 To n'a que 931 GB" ; la plainte vient de - rien ne manque, l'étiquette est tout simplement fausse. macOS et la plupart des outils Linux rapportent désormais honnêtement la décimale GB. La RAM est toujours binaire, car l'adressage mémoire est intrinsèquement une puissance de deux. Les vitesses réseau sont décimales et Mesuré en bits, qui est un troisième axe de confusion : une connexion "100 Mbps" délivre environ 12,5 Mo par seconde, et non 100 mbits de données.
Les règles pratiques que je respecte :
- en code, travaillez dans octets. Convertissez uniquement sur la couche d'affichage.
- Lorsque vous écrivez une limite dans une spécification, écrivez le nombre d'octets entre parenthèses : "500 Mo (500 000 000 octets)."
- Si votre contrat API indique MB, choisissez Decimal, car c'est ce que signifie l'étiquette en dehors de Windows.
- Ne présumez jamais que l'autre système est d'accord avec le vôtre. Vérifiez.
le Convertisseur d'unités Répertorie les deux familles côte à côte dans la catégorie des données, afin que vous puissiez voir l'écart plutôt que de le deviner. Si vous travaillez avec des valeurs d'octet brutes et que vous souhaitez les voir au niveau du bit, le traducteur binaire est l'outil compagnon.
De quelles conversions les gens ont-ils réellement besoin ?
Après avoir regardé ce qui est recherché et ce que j'atteins pour moi-même, la liste est courte et prévisible. Voici ceux qui méritent d'être connus à froid, avec les facteurs exacts plutôt que les approximations :
| transformation | Facteur exact | Mathématiques mentales rapides |
|---|---|---|
| cm → en | ÷ 2,54 | Réduisez-le en deux, puis soustrayez 20% |
| Dans → cm | × 2,54 | Doublez-le, ajoutez 25 % |
| km → MI | × 0,621371 | multiplier par 0,6, ajouter un peu |
| MI → km | × 1.609344 | Ajouter 60 % |
| kg → lb | × 2.20462262 | Doublez-le, ajoutez 10 % |
| lb → kg | × 0,45359237 | Réduisez-le en deux, soustrayez 10% |
| °C → °F | × 1,8 + 32 | Doublez-le, ajoutez 30 (rugueux) |
| km/h → MPH | × 0,621371 | Même facteur que KM → MI |
| l → US Gal | ÷ 3,785411784 | Diviser par 4, ajouter un peu |
| Mo → MIB | ÷ 1.048576 | Soustrayez environ 4,6 % |
La colonne mental-math est délibérément rugueuse - assez bonne pour vérifier la raison-vérifier un résultat, pas assez bonne pour expédier La distinction importe : " ; doublez-le et ajoutez 10 %" ; transforme 70 kg en 154 lb, ce qui est juste à moins d'un gramme Mais appliqué à un envoi de 2 000 kg il dérive, et appliqué à un calcul de dosage il est inacceptable Utilisez l'heuristique pour attraper un mauvais ordre de grandeur ; utilisez le facteur exact pour la réponse réelle.
Ces facteurs de conversion sont-ils exacts ou arrondis ?
Exact, et c'est un fait plus intéressant qu'il n'y paraît.
Depuis l'accord international de chantier et de livre de 1959, les unités impériales sont défini en termes de métriques Un pouce n'est pas mesuré par rapport au mètre ; il est déclaré être exactement 0,0254 m. La livre est exactement 0,45359237 kg Le gallon US est exactement 3,785411784 L. Il n'y a pas d'incertitude expérimentale dans ces nombres - ce sont des définitions, comme le fait qu'il y a 60 secondes dans une minute.
Il en va de même pour les catégories :
- 1 acre = 4046,8564224 m² (exactement)
- 1 psi = 6894,757293168 PA (exactement, à partir de la livre et du pouce)
- 1 BTU = 1055.05585262 J (la définition de la table internationale)
- 1 kWh = 3 600 000 j (exactement, car un watt est un joule par seconde)
- 1 mille marin = 1852 m (exactement, par accord international en 1929)
Quelques unités sont véritablement des conventions plutôt que des définitions, et des outils honnêtes le disent. " ; Month" ; n'est pas une quantité fixe - le convertisseur utilise 30 jours, car il faut choisir quelque chose, et un " ; année" ; de 365 jours ignore les années bissextiles Mach dépend de la température et de la pression de l'air ; le convertisseur utilise le chiffre du niveau de la mer d'environ 343 m/s à 20 °C. Si vous avez besoin d'une arithmétique de date précise au lieu d'un facteur nominal, utilisez le Calculateur de différence de date, qui compte les jours civils réels plutôt que de multiplier par 30.
le Convertisseur d'unités Stocke les valeurs définies et arrondit uniquement les exposer, à huit chiffres significatifs. L'arithmétique elle-même est effectuée avec une double précision, de sorte que les conversions enchaînées n'accumulent pas d'erreur visible.
Puis-je convertir des pixels CSS en millimètres ?
Oui, et c'est l'une des conversions que j'utilise le plus en tant que développeur frontal, c'est pourquoi il est dans la catégorie Longueur aux côtés des unités physiques.
La spécification CSS définit le Pixel de référence comme 1/96 de pouce Cela fait 96 px exactement 25,4 mm, ou 1 px ≈ 0,2646 mm Cela signifie également que la relation entre px et pt (le point typographique, 1/72 pouce) est fixe : 1 pt = 1,333... px, et 12 pt = 16 px, c'est pourquoi 16 px est la taille de police corporelle par défaut dans chaque navigateur - c'est du texte en 12 points.
La mise en garde mérite une affirmation clairement : il s'agit d'un référence Pixel, pas un pixel de l'appareil. Sur un affichage à haut DPI, un pixel CSS correspond à deux ou trois pixels physiques. Sur un téléphone, la mise à l'échelle de la fenêtre modifie à nouveau la relation. Donc, PX → MM est tout à fait correct lorsque vous mappez une conception d'impression sur une mise en page Web (une page A4 est de 210 mm de large, soit 793,7 cs px), et c'est une approximation utile plutôt qu'une vérité physique lorsque vous parlez de ce que votre œil voit réellement sur un écran de rétine.
Si vous créez des agencements et des jetons de conception, cette conversion s'ajoute à la cueillette de couleurs Couvre la plupart des travaux de traduction entre les spécifications imprimées d'un designer et une implémentation CSS.
Cas d'utilisation courants
Développement et DevOps. Limites de taille de fichiers, quotas de stockage, tailles de cache, budgets de bande passante. La distinction Mb/MiB est celle qui mord, et elle mord aux endroits où un numéro erroné rejette silencieusement une requête valide au lieu de lancer une erreur que vous remarqueriez.
Transfert front-end et design. PX, PT, MM et pouces lorsqu'un design provient d'un outil orienté impression, ou lorsque vous produisez quelque chose qui sera à la fois visualisé et imprimé.
Cuisine et recettes. tasses, cuillères à soupe et onces américaines par rapport aux grammes et millilitres Notez que les conversions de volume ici sont habituelles aux États-Unis - la pinte impériale et le gallon sont des entrées distinctes car une pinte britannique est de 568 ml tandis qu'une pinte américaine est de 473 ml, une différence de 20 % qui a ruiné beaucoup de gâteaux.
Voyage et vie de tous les jours. km en milles, kg en livres, Celsius à Fahrenheit, litres en gallons. La majorité peu glamour du trafic d'unités-convertisseurs et la raison pour laquelle l'outil est par défaut une paire sensible par catégorie plutôt que de vous le faire configurer.
Sciences et ingénierie. Pression en psi, bar et pascals, énergie en joules, calories, kWh et BTU, angles en degrés, radians et gradins. Partout où vous vous déplacez entre un papier SI et une fiche technique impériale.
Remise en forme et nutrition. Les kilocalories (la "calorie" sur une étiquette alimentaire est en fait un kilocalorie) à Joules, kilogrammes en livres et en pierres, kilomètres en kilomètres pour les calculs de rythme. Si vous convertissez des pourcentages d'un objectif quotidien plutôt que d'unités, le Calculateur de pourcentage est l'autre moitié de ce flux de travail.
Pour un aperçu plus large des utilitaires basés sur un navigateur, j'ai récupéré ceux que j'utilise quotidiennement dans La boîte à outils du développeur Web.
Pourquoi un convertisseur basé sur un navigateur est-il important ?
Pour un convertisseur d'unité, l'argument de la confidentialité est plus faible que pour, disons, un outil PDF - personne ne va vous compromettre en apprenant que vous avez converti 30 cm en pouces Mais deux choses font toujours de l'exécution côté client la bonne architecture.
Le premier est la vitesse. Il n'y a pas de voyage aller-retour. Le résultat est mis à jour sur chaque frappe car l'arithmétique se produit à quelques microsecondes, et non sur un réseau. Un convertisseur soutenu par un serveur qui rebondit votre entrée et montre qu'un spinner est plus lent que de faire la multiplication dans votre tête.
La seconde est qu'il continue de fonctionner quand rien d'autre ne fonctionne Chargez la page une fois et elle fonctionne hors ligne - dans un avion, dans un train, dans un centre de données sans WiFi invité, dans une salle de conférence dont le réseau vous déteste Chaque outil sur [Toolz.dev] (/est construit de cette façon exprès, et le raisonnement derrière ce choix - pour les outils où il vous protège véritablement - est exposé dans Pourquoi vos données ne devraient jamais quitter votre navigateur.
FAQ
Comment convertir cm en pouces ?
Divisez le nombre de centimètres par 2,54, car un pouce est défini exactement comme 2,54 cm. Donc 30 cm ÷ 2,54 = 11,811 pouces et 100 cm ÷ 2,54 = 39,37 pouces. La relation est une définition plutôt qu'une mesure, fixée par l'accord international de chantier et de livre de 1959, donc elle est exacte plutôt qu'approximative.
Comment convertir KG en lbs ?
Multipliez les kilogrammes par 2,20462262, puisqu'une livre est définie comme exactement 0,45359237 kg. Cela fait 70 kg égal à 154,32 lb. Le raccourci mental - doublez-le et ajoutez 10 % - vous permet d'atteindre une fraction de livre et convient bien pour un contrôle de santé mentale, mais utilisez le facteur exact pour tout ce qui doit être juste, comme les poids d'expédition ou les calculs de dosage.
Quelle est la formule pour convertir Celsius en Fahrenheit ?
°F = (°C × 9/5) + 32. Donc, 25 °C est de 77 °F et 100 ° C est de 212 °F. Pour l'inverser : °C = (°F − 32) × 5/9. La température nécessite à la fois une multiplication et un décalage car les deux échelles ont des points zéro différents, contrairement à la longueur ou au poids, lorsqu'un seul multiplicateur est suffisant.
Quelle est la différence entre MB et MIB ?
Un mégaoctet (MB) est de 1 000 000 d'octets, tandis qu'un mébioctet (MiB) est de 1 048 576 octets, soit 1 024². L'écart est d'environ 4,6 % et augmente à chaque pas : un gigaoctet et un gibioctet diffèrent de 7,4 %. Les fabricants de disques font de la publicité en MB et GB décimaux, tandis que Windows les signale en unités binaires mais les étiquette GB, c'est pourquoi un lecteur de 1 To apparaît à environ 931 Go. Rien ne manque - les deux systèmes comptent simplement différemment.
Combien de kilomètres sont dans un mile?
Un kilomètre est exactement 1,609344 kilomètres, donc un kilomètre est à environ 0,621371 miles. Une course de 5 km est de 3,107 miles, un 10 km est de 6,214 miles et un marathon à 42,195 km est de 26,219 miles. Le même facteur de 0,621371 convertit le km/h en mi/h, car les deux sont identiques à la distance par heure.
Les facteurs de conversion sont-ils exacts ou approximatifs ?
Ce sont les valeurs définies exactes des normes internationales : 1 in = 0,0254 m, 1 lb = 0,45359237 kg, 1 US gal = 3,785411784 L, 1 mille marin = 1852 m. Seul le résultat affiché est arrondi, à huit chiffres significatifs, ce qui maintient la sortie lisible sans introduire d'erreur que vous remarquerez jamais Les quelques unités véritablement conventionnelles - " ; month" ; à 30 jours, Mach au niveau de la mer - sont étiquetées comme telles.
Puis-je convertir des pixels CSS en millimètres ?
Oui. La spécification CSS définit le pixel de référence comme 1/96 de pouce, ce qui fait 96 px exactement 25,4 mm. Cette relation est ce que vous voulez lors du mappage d'une conception d'impression sur une mise en page Web, et c'est pourquoi 12 pt équivaut à 16 px. Gardez à l'esprit qu'il décrit le pixel de référence CSS, et non les pixels physiques sur un écran à haut DPI, où un pixel CSS peut couvrir deux ou trois pixels de périphérique.
Mes données sont-elles envoyées sur un serveur lorsque je convertis des unités ?
non . Chaque conversion est calculée en JavaScript dans votre navigateur, c'est pourquoi le résultat se met à jour instantanément lorsque vous tapez plutôt qu'après un aller-retour sur le réseau. Rien de transmis, de journalisation ou de stockage, et une fois la page chargée, le convertisseur continue de fonctionner sans aucune connexion réseau.



