Le unità stesse sono definite nel Brochure SI, e i prefissi binari che causano questo particolare argomento - kibi, mebi, gibi - in CEI 80000-13.
Una volta ho spedito un bug causato da 24 byte. Un controllo della quota di archiviazione in un'app Laravel ha confrontato le dimensioni di un file caricato con un limite che il team di prodotto aveva scritto come "500 MB". L'autore del caricamento ha riportato megabyte come MIB. Il limite è stato applicato in MB decimale. Il divario tra i due è di circa il 4,6%, che è invisibile nei test ed estremamente visibile quando un'esportazione di 512.000.000 byte di un cliente viene rifiutata come "troppo grande" mentre l'interfaccia utente insiste che è sotto il limite.
La conversione di unità sembra il problema più noioso nell'informatica fino a quando non corrompe silenziosamente qualcosa Ogni conversione ha un fattore definito esatto - un pollice è proprio così 0,0254 metri, una libbra è proprio così 0,45359237 chilogrammi - e il motivo per cui li sbagliamo è che invece portiamo con noi approssimazioni arrotondate Così ho costruito il convertitore di unità su [Toolz.dev](/intorno ai valori definiti, che coprono le undici categorie che effettivamente raggiungo, comprese quelle che la maggior parte dei convertitori ignora: pixel CSS, punti tipografici e unità di dati binari contro decimali che hanno causato il mio bug.
tl; dr: Ogni unità in una categoria è un multiplo fisso di un'unità base, quindi la conversione è un singolo moltiplica e dividi - tranne la temperatura, che necessita di una trasformata affine perché Celsius, Fahrenheit, Kelvin e Rankine hanno punti zero diversi. Il convertitore di unità Copre lunghezza, peso, temperatura, area, volume, velocità, tempo, dati, pressione, energia e angolo con fattori standard esatti, mostra il tuo valore in ogni unità contemporaneamente e funziona interamente nel tuo browser.
Come funziona effettivamente la conversione dell'unità?
Scegli un'unità di base per categoria. Esprimi ogni altra unità come rapporto con esso. La conversione si riduce quindi a una linea di aritmetica:
result = value × (fromUnit.ratio / toUnit.ratio)
Per lunghezza, la base è il metro. Un centimetro ha un rapporto di 0,01, un pollice ha 0,0254. La conversione di 30 cm in pollici è 30 × 0.01 / 0.0254 = 11.811. Questo è l'intero algoritmo e ha una proprietà utile: poiché ogni percorso di conversione attraverso l'unità base, non si incatenano le approssimazioni. La conversione di miglia in miglia nautiche va miglio → metro → miglio nautico in un'espressione piuttosto che attraverso una tabella di ricerca di fattori a coppie, ciascuno con il proprio arrotondamento.
Le unità base del convertitore di unità sono quelli si dove esistono: metro, chilogrammo, secondo, pascal, joule, radianti, metro quadrato, metro al secondo. Il volume utilizza il litro e i dati utilizzano il byte, sia per la leggibilità piuttosto che per la rigorosa purezza di Si.
La temperatura è l'eccezione che rompe il modello e vale la pena capire perché.
Perché la temperatura è diversa da ogni altra unità?
Perché le scale di temperatura lo sono affine, no proporzionale. Zero centimetri e zero pollici sono della stessa lunghezza - niente Ma zero Celsius e zero Fahrenheit non sono la stessa temperatura, e nessuno dei due è & quot; nessuna temperatura affatto." Le scale hanno sia una dimensione del passo diversa che un'origine diversa.
Quindi una conversione di temperatura richiede due operazioni, non una: spostare l'origine, quindi ridimensionare. Le formule standard:
- °F = (°C × 9/5) + 32
- °C = (°F − 32) × 5/9
- k = °C + 273,15
- °R = k × 9/5
Internamente il convertitore instrada tutto attraverso Kelvin, che è l'unico dei quattro con uno zero fisicamente significativo - lo zero assoluto, il punto in cui il moto termico si arresta Che dà anche un controllo di validità libero: se una conversione produce un valore Kelvin negativo, l'ingresso era sotto lo zero assoluto e non è una temperatura reale Lo strumento lo rifiuta con una spiegazione piuttosto che restituire con sicurezza le sciocchezze, che è il tipo di piccola onestà che separa uno strumento di cui ci si può fidare da uno che si deve ricontrollare.
Un rapido riferimento per i numeri che le persone effettivamente cercano:
| centigrado | Fahrenheit | kelvin | Che cos'è |
|---|---|---|---|
| −273,15 °C | −459,67 °F | 0 K | Zero assoluto |
| −40 °C | −40 °F | 233.15 K | dove le due scale si incrociano |
| 0 °C | 32 °F | 273.15 K | L'acqua si congela |
| 20 °C | 68 °F | 293.15 K | temperatura ambiente |
| 37 °C | 98,6 °F | 310.15 K | corpo umano |
| 100 °C | 212 °F | 373.15 K | L'acqua bolle a livello del mare |
Il crossover −40 è quello che vale la pena memorizzare. È l'unico punto in cui Celsius e Fahrenheit sono d'accordo, e fa un buon controllo di sanità mentale su qualsiasi routine di conversione che scrivi.
Qual è la differenza tra MB e MIB?
Questa è la conversione che costa denaro reale e ore di caccia di insetti reali, quindi merita la sua sezione.
un' Megabyte (MB) è 1.000.000 di byte: un'unità decimale, 106. UN Mebibyte (MIB) è 1.048.576 byte - un'unità binaria, 2²0. i prefissi binari (kibi, mebi, gibi, tebi) sono stati standardizzati dall'IEC nel 1998 proprio per porre fine all'ambiguità, e circa la metà del settore li ha ignorati.
Il risultato è un pasticcio che tutti hanno provato:
| pubblicizzato | Byte effettivi | Cosa mostra il sistema operativo | apparente "perdita" |
|---|---|---|---|
| 1 KB | 1.000 | 0,98 KIB | 2,4% |
| 1 MB | 1.000.000 | 0,95 mib | 4,6% |
| 1 GB | 1.000.000.000 | 0,93 Gib | 7,4% |
| 1 TB | 1.000.000.000.000 | 0,91 tib | 9,9% |
I produttori di unità vendono in unità decimali, perché il decimale rende il numero più grande Windows riporta in unità binarie ma li etichetta & quot; GB, & quot; che è dove il & quot; il mio drive da 1 TB ha solo 931 GB" la lamentela viene da - non manca nulla, l'etichetta è solo sbagliata macOS e la maggior parte degli strumenti Linux ora riportano GB decimali onestamente La RAM è sempre binaria, perché l'indirizzamento della memoria è intrinsecamente una potenza di due Le velocità di rete sono decimali e Misurato in bit, che è un terzo asse di confusione: una connessione "100 Mbps" eroga circa 12,5 MB al secondo, non 100.
Le regole pratiche che seguo:
- nel codice, lavorare byte. Converti solo a livello di visualizzazione.
- Quando scrivi un limite in una specifica, scrivi il conteggio dei byte tra parentesi: "500 MB (500.000.000 di byte)."
- Se il tuo contratto API dice MB, scegli decimale, perché questo è ciò che l'etichetta significa al di fuori di Windows.
- Non dare mai per scontato che l'altro sistema sia d'accordo con il tuo. Controlla.
la convertitore di unità Elenca entrambe le famiglie fianco a fianco nella categoria dati, in modo da poter vedere il divario piuttosto che indovinarlo. Se stai lavorando con valori di byte grezzi e vuoi vederli a livello di bit, il traduttore binario è lo strumento di accompagnamento.
Di quali conversioni hanno effettivamente bisogno le persone?
Dopo aver visto cosa viene cercato e cosa raggiungo me stesso, l'elenco è breve e prevedibile. Ecco quelli che vale la pena conoscere a freddo, con i fattori esatti piuttosto che le approssimazioni:
| conversione | fattore esatto | matematica mentale veloce |
|---|---|---|
| cm → in | ÷ 2.54 | Dimezzalo, quindi sottrarre il 20% |
| in → cm | × 2.54 | Raddoppia, aggiungi il 25% |
| km → mi | × 0,621371 | Moltiplica per 0,6, aggiungi un po' |
| MI → KM | × 1.609344 | Aggiungi 60% |
| kg → libbre | × 2.20462262 | Raddoppia, aggiungi il 10% |
| lb → kg | × 0,45359237 | Dimezzalo, sottrarre il 10% |
| °C → °F | × 1,8 + 32 | Raddoppia, aggiungi 30 (grezzo) |
| km/h → mph | × 0,621371 | Stesso fattore di km → mi |
| L → Noi ragazza | ÷ 3.785411784 | Dividi per 4, aggiungi un po' |
| MB → MIB | ÷ 1.048576 | sottrarre circa il 4,6% |
La colonna mental-math è deliberatamente ruvida - abbastanza buona per controllare la sanità mentale di un risultato, non abbastanza buona per spedire La distinzione conta: & quot; raddoppiarlo e aggiungere 10% & quot; trasforma 70 kg in 154 libbre, che è giusto entro un grammo Ma applicato a una spedizione di 2.000 kg va alla deriva, e applicato a un calcolo del dosaggio è inaccettabile Usa l'euristica per catturare un ordine di grandezza sbagliato; usa il fattore esatto per la risposta effettiva.
questi fattori di conversione sono esatti o arrotondati?
esatto, e questo è un fatto più interessante di quanto sembri.
Dall'accordo internazionale di cantiere e sterlina del 1959, le unità imperiali lo sono definito in termini di metriche Il pollice non è misurato rispetto al metro; è dichiarato essere esattamente 0,0254 m La libbra è esattamente 0,45359237 kg Il gallone USA è esattamente 3,785411784 L. Non c'è incertezza sperimentale in questi numeri - sono definizioni, come il fatto che ci sono 60 secondi in un minuto.
Lo stesso vale per le categorie:
- 1 acro = 4046,8564224 m² (esattamente)
- 1 psi = 6894.757293168 Pa (esattamente, a seguito della sterlina e del pollice)
- 1 BTU = 1055.05585262 J (la definizione della tabella internazionale)
- 1 kWh = 3.600.000 J (esattamente, poiché un watt è un joule al secondo)
- 1 miglio nautico = 1852 m (esattamente, per accordo internazionale nel 1929)
Alcune unità sono veramente convenzioni piuttosto che definizioni, e gli strumenti onesti lo dicono. & quot;Month" non è una quantità fissa - il convertitore utilizza 30 giorni, perché devi scegliere qualcosa, e un & quot; year" di 365 giorni ignora gli anni bisestili Mach dipende dalla temperatura e dalla pressione dell'aria; il convertitore utilizza la cifra del livello del mare di circa 343 m/s a 20 °C. Se hai bisogno di un'aritmetica precisa della data invece di un fattore nominale, usa il Calcolatore di differenza di data, che conta i giorni di calendario effettivi anziché moltiplicare per 30.
la convertitore di unità Memorizza i valori definiti e arrotonda solo il ostentazione, a otto cifre significative. L'aritmetica stessa viene eseguita a piena precisione doppia, quindi le conversioni incatenate non accumulano errori visibili.
Posso convertire i pixel CSS in millimetri?
Sì, ed è una delle conversioni che utilizzo di più come sviluppatore front-end, motivo per cui è nella categoria lunghezza insieme alle unità fisiche.
La specifica CSS definisce il Pixel di riferimento come 1/96 di pollice. che rende 96 px esattamente 25,4 mm, o 1 px ≈ 0,2646 mm. significa anche che la relazione tra px e pt (il punto tipografico, 1/72 pollice) è fissa: 1 pt = 1,333... px, e 12 pt = 16 px, motivo per cui 16px è la dimensione predefinita del carattere corporeo in ogni browser - è il testo a 12 punti.
L'avvertenza che vale la pena affermare chiaramente: questo è un riferimento Pixel, non un pixel del dispositivo. Su un display ad alto DPI, un pixel CSS si associa a due o tre pixel fisici. Su un telefono, il ridimensionamento della finestra di visualizzazione modifica nuovamente la relazione. Quindi PX → MM è esattamente giusto quando si mappa un disegno di stampa su un layout web (una pagina A4 è larga 210 mm, che è 793,7 CSS PX), ed è un'utile approssimazione piuttosto che una verità fisica quando si parla di ciò che il vostro occhio vede effettivamente su uno schermo retina.
Se stai costruendo layout e progetti di token, questa conversione più il selettore Copre la maggior parte del lavoro di traduzione tra le specifiche orientate alla stampa di un designer e un'implementazione CSS.
Casi d'uso comuni
sviluppo e DevOps. Limiti di dimensioni file, quote di archiviazione, dimensioni della cache, budget di larghezza di banda. La distinzione MB/MIB è quella che morde e morde nei luoghi in cui un numero sbagliato rifiuta silenziosamente una richiesta valida invece di generare un errore che noteresti.
Fronte-end e handoff di design. PX, PT, MM e pollici quando un design proviene da uno strumento orientato alla stampa o quando si produce qualcosa che verrà visualizzato e stampato.
Cucina e ricette. Tazze, cucchiai e once statunitensi contro grammi e millilitri Si noti che le conversioni di volume qui sono usuali degli Stati Uniti - la pinta imperiale e gallone sono voci separate perché una pinta del Regno Unito è di 568 ml mentre una pinta degli Stati Uniti è di 473 ml, una differenza del 20% che ha rovinato un sacco di torte.
Viaggi e vita quotidiana. km a miglia, kg a libbre, Celsius a Fahrenheit, litri a galloni. La maggior parte del traffico unit-converter e il motivo per cui lo strumento è predefinito per una coppia ragionevole per categoria anziché configurarla.
Scienza e ingegneria. Pressione in psi, bar e pascal; energia in joule, calorie, kWh e BTU; angoli in gradi, radianti e gradiani. Ovunque ti muovi tra un documento SI e un foglio dati Imperial.
fitness e nutrizione. Kilocalories (la "caloria" su un'etichetta alimentare è in realtà un chilocalorie) a joule, chilogrammi a libbre e pietre, chilometri a miglia per i calcoli del ritmo. Se stai convertendo percentuali di un obiettivo giornaliero anziché unità, il Calcolatrice percentuale è l'altra metà di quel flusso di lavoro.
Per uno sguardo più ampio a quali utilità basate su browser vale la pena tenere a portata di mano, ho raccolto quelli che uso quotidianamente Il toolkit dello sviluppatore web.
Perché un convertitore basato su browser è importante?
Per un convertitore di unità, l'argomento della privacy è più debole di quanto lo sia, ad esempio, per uno strumento PDF: nessuno ti comprometterà imparando che hai convertito da 30 cm a pollici. Ma due cose rendono comunque l'esecuzione lato client l'architettura giusta.
Il primo è la velocità. Non c'è viaggio di andata e ritorno. Il risultato si aggiorna su ogni sequenza di tasti perché l'aritmetica sta avvenendo a pochi microsecondi, non attraverso una rete. Un convertitore supportato da server che rimbalza il tuo input e mostra che uno spinner è più lento che eseguire la moltiplicazione nella tua testa.
La seconda è che continua a funzionare quando nient'altro lo fa Carica la pagina una volta e funziona offline - su un aereo, su un treno, in un datacenter senza WiFi ospite, in una sala conferenze la cui rete ti odia Ogni strumento su [Toolz.dev](/è costruito in questo modo apposta, e il ragionamento alla base di quella scelta - per gli strumenti in cui ti protegge veramente - è strutturato in Perché i tuoi dati non dovrebbero mai lasciare il tuo browser.
FAQ
Come faccio a convertire cm in pollici?
Dividere il numero di centimetri per 2,54, perché un pollice è definito esattamente come 2,54 cm. Quindi 30 cm ÷ 2,54 = 11,811 pollici e 100 cm ÷ 2,54 = 39,37 pollici. La relazione è una definizione piuttosto che una misurazione, fissata dall'accordo internazionale di cantiere e sterlina del 1959, quindi è esatta piuttosto che approssimativa.
Come faccio a convertire kg in libbre?
Moltiplicare i chilogrammi per 2,20462262, poiché una libbra è definita esattamente come 0,45359237 kg. Ciò rende 70 kg pari a 154,32 lb La scorciatoia mentale - raddoppiarla e aggiungere il 10% - ti porta entro una frazione di libbra e va bene per un controllo di sanità mentale, ma utilizzare il fattore esatto per tutto ciò che deve essere giusto, come pesi di spedizione o calcoli di dosaggio.
Qual è la formula per convertire Celsius in Fahrenheit?
°F = (°C × 9/5) + 32. Quindi 25 ° C è 77 ° F e 100 ° C è 212 ° F. Per invertirlo: °C = (°F − 32) × 5/9. La temperatura richiede sia una moltiplicazione che un offset perché le due scale hanno punti zero diversi, a differenza della lunghezza o del peso in cui è sufficiente un singolo moltiplicatore.
Qual è la differenza tra MB e MIB?
Un megabyte (MB) è di 1.000.000 di byte, mentre un mebibyte (MiB) è di 1.048.576 byte, ovvero 1024² Il gap è di circa il 4,6%, e cresce ad ogni passo in avanti: un gigabyte e un gibibyte differiscono del 7,4% I produttori di unità pubblicizzano in MB decimali e GB, mentre Windows riporta in unità binarie ma li etichetta GB, motivo per cui un'unità da 1 TB appare come circa 931 GB. Non manca nulla: i due sistemi contano semplicemente in modo diverso.
Quanti chilometri ci sono in un miglio?
Un miglio è esattamente 1.609344 chilometri, quindi un chilometro è di circa 0,621371 miglia. Una corsa di 5 km è di 3,107 miglia, 10 km è 6.214 miglia e una maratona a 42,195 km è 26.219 miglia. Lo stesso fattore 0,621371 converte km/h in mph, poiché entrambi hanno lo stesso rapporto applicato alla distanza all'ora.
I fattori di conversione sono esatti o approssimativi?
Sono i valori definiti con esattezza dagli standard internazionali: 1 in = 0,0254 m, 1 lb = 0,45359237 kg, 1 US gal = 3,785411784 L, 1 miglio nautico = 1852 m Solo il risultato visualizzato è arrotondato, a otto cifre significative, che mantiene l'output leggibile senza introdurre errori che noteresti mai Le poche unità genuinamente convenzionali - & quot; month& quot; come 30 giorni, Mach a livello del mare - sono etichettate come tali.
Posso convertire i pixel CSS in millimetri?
si. La specifica CSS definisce il pixel di riferimento come 1/96 di pollice, che rende 96 px esattamente 25,4 mm. Quella relazione è ciò che desideri quando mappi un disegno di stampa su un layout web, ed è per questo che 12 pt equivale a 16 px. Tieni presente che descrive il pixel di riferimento CSS, non i pixel fisici su uno schermo ad alto DPI, in cui un pixel CSS può coprire due o tre pixel di dispositivo.
I miei dati vengono inviati a un server quando converto le unità?
no . Ogni conversione viene calcolata in JavaScript nel tuo browser, motivo per cui il risultato si aggiorna istantaneamente durante la digitazione anziché dopo un viaggio di andata e ritorno in rete. Nulla di ciò che si immette viene trasmesso, registrato o memorizzato e una volta caricata la pagina, il convertitore continua a funzionare senza alcuna connessione di rete.



