Skip to content

Data study

Fizemos round-trip de 306 conversões de unidade um milhão de vezes. Aqui está a precisão que você realmente perde.

Round-trip cada conversão um milhão de vezes. 88,2% dos pares desviam por exatamente zero; o pior caso perde precisão no 15º dígito significativo. Aqui está o porquê — e quais categorias são perfeitamente estáveis.

By Published

Cada conversão de unidade na web executa em IEEE 754 ponto flutuante de dupla precisão — o mesmo formato de número de 64 bits que JavaScript, planilhas e a maioria das calculadoras usam. É preciso para cerca de 15–16 dígitos significativos, mas não é infinitamente preciso: a maioria das frações decimais não pode ser armazenada exatamente em binário. Isso levanta uma pergunta natural. Se você converter um número de uma unidade para outra e de volta, você obtém o número original? E se você fizer de novo, e novamente — o erro se acumula?

Testamos isso exaustivamente. Para todos os 306 pares de conversão principais no catálogo da Convertitive (cada categoria exceto temperatura, que é uma conversão de deslocamento em vez de razão pura), começamos no valor 1, convertemos para frente e para trás e repetimos essa viagem redonda um milhão de vezes. Depois medimos quantos o resultado tinha desviado de 1.

Achado 1: 88% das conversões nunca desviam em tudo

Dos 306 pares, 270 (88,2%) retornaram para exatamente 1 após um milhão de viagens redondas — bit-por-bit idêntico, erro zero. Estes são os pares cuja razão de unidade-para-unidade é exatamente representável em ponto flutuante binário, portanto cada conversão é perfeitamente reversível não importa quantas vezes você repita.

Esse é um resultado mais forte do que a maioria das pessoas espera. A intuição de que "erro de ponto flutuante sempre se acumula" é simplesmente falsa para a maioria das conversões reais.

Achado 2: até o pior caso fica preciso com 15 dígitos

Os 36 pares restantes desviaram — mas por quase nada. Aqui estão os piores contraventores após um completo milhão de viagens redondas:

Par de conversãoCategoriaDesvio absoluto após 1.000.000 viagens redondas
milhas → polegadascomprimento1,78 × 10⁻¹⁵
kPa → mmHgpressão1,11 × 10⁻¹⁵
anos → segundostempo9,99 × 10⁻¹⁶
oz → toneladaspeso8,88 × 10⁻¹⁶
lb → toneladaspeso8,88 × 10⁻¹⁶
nós → km/hvelocidade7,77 × 10⁻¹⁶
bar → psipressão6,66 × 10⁻¹⁶
kWh → joulesenergia4,44 × 10⁻¹⁶

O único pior par, milhas → polegadas, desviou por 1,78 × 10⁻¹⁵ — aproximadamenteduas partes em um quadrilhão, após um milhão de viagens redondas. Um usuário normal realiza exatamente uma conversão, onde o erro é milhões de vezes menor ainda e fica bem abaixo do 15º dígito significativo. Em termos práticos, o resultado é exato.

Achado 3: quais categorias são perfeitamente estáveis

Desvio agrupa por categoria, e o padrão é explicado inteiramente por como as definições de unidade se dividem em binário:

CategoriaPares testadosPares com desvio zeroPior desvio
dados (bytes, bits)3030 (100%)0
volume5656 (100%)0
energia3028 (93%)4,44 × 10⁻¹⁶
tempo3028 (93%)9,99 × 10⁻¹⁶
peso3026 (87%)8,88 × 10⁻¹⁶
comprimento5648 (86%)1,78 × 10⁻¹⁵
torque2016 (80%)4,44 × 10⁻¹⁶
pressão3022 (73%)1,11 × 10⁻¹⁵
potência128 (67%)2,22 × 10⁻¹⁶
velocidade128 (67%)7,77 × 10⁻¹⁶

Dados e volume são perfeitamente estáveis — cada par round-trip sem perdas. Unidades de dados são potências de dois e dez que binário lida limpo; as unidades de volume neste catálogo compartilham fatores que cancelam exatamente. As categorias com mais desvio — potência e velocidade — são dominadas por definições como cavalo-vapor e nós que puxam em fatores irracionais-em-binário.

Por que isso acontece

Ponto flutuante de dupla precisão armazena 53 bits de mantissa, dando um epsilon de máquina de cerca de 2,2 × 10⁻¹⁶ — a menor lacuna relativa entre números representáveis perto de 1. Uma conversão multiplica por uma razão de dois fatores de unidade. Quando aquela razão é uma fração binária exata (ou os fatores para frente e reverso cancelam exatamente), a viagem redonda é sem perdas e desvio é zero para sempre. Quando a razão não é exatamente representável — como com 0,0254 m da polegada ou 1609,344 m da milha — cada conversão arredonda para o valor representável mais próximo, deixando um erro da ordem de um epsilon. Ao longo de um milhão de viagens redondas aqueles erros fazem uma caminhada aleatória lenta, razão pela qual até o pior caso apenas atinge alguns vezes 10⁻¹⁵.

A conclusão prática

Conversão de unidade no navegador é, para todos os fins, exata. O erro é limitado por epsilon de máquina, não se acumula significativamente em uso normal e é sempre muito abaixo da precisão que você jamais exibiria. Se você jamais se perguntou se encadear conversões através de uma ferramenta corrompe silenciosamente seus números — não faz. Para o quadro completo de como os resultados da Convertitive se comparam contra valores de referência autoritários, veja o estudo de precisão de conversor e a metodologia de conversão.

Metodologia

Para cada par ordenado de unidades principais (A, B) dentro de uma categoria, computamos v ← v × (factorA / factorB) depois v ← v × (factorB / factorA), começando em v = 1, repetido 1.000.000 vezes e registrados |v − 1|. Fatores são os valores factorToBase exatos dos dados de unidade da Convertitive, derivados de NIST SP 811. Toda aritmética é IEEE 754 binary64 (tipo de número nativo do JavaScript). Temperatura foi excluída porque é uma conversão afim (tem um deslocamento aditivo), não uma razão pura, portanto o modelo de round-trip acima não se aplica. O procedimento é determinístico: as mesmas entradas sempre produzem os mesmos valores de desvio relatados aqui.

Frequently asked questions

O que é desvio de conversão?
Desvio é o pequeno erro que se acumula quando você converte um valor de uma unidade para outra e volta de novo repetidamente. Em aritmética exata, converter 1 metro em pés e de volta retorna exatamente 1. Em IEEE 754 ponto flutuante de dupla precisão — o que cada navegador e planilha usa — os valores intermediários são arredondados para 53 bits, então a viagem redonda pode pousar um fio longe de onde começou.
Devo me preocupar com erro de ponto flutuante em conversões de unidade?
Para qualquer uso realista, não. Após um milhão de viagens redondas, o pior par que medimos (milhas para polegadas) desviou por 1,78 × 10⁻¹⁵ — cerca de duas partes em um quadrilhão. Uma conversão única do mundo real desvia muito menos do que isso, e o erro é muitas ordens de magnitude abaixo de qualquer precisão de exibição que você jamais usaria. A matemática é efetivamente exata para fins práticos.
Por que algumas conversões têm desvio zero?
Quando a razão entre duas unidades é exatamente representável em ponto flutuante binário, a viagem redonda é sem perdas. Potências de dez que se resolvem em frações binárias limpas, e definições de unidade que compartilham fatores, produzem razões que o hardware pode armazenar exatamente. 270 dos 306 pares que testamos (88,2%) caíram nesta categoria e mostraram desvio zero mesmo após um milhão de viagens redondas.
Quais conversões desviam mais?
Pares métrico-para-imperial cujos fatores de definição não são frações binárias exatas — milhas para polegadas, kPa para mmHg, nós para km/h, kilowatt-hora para joules. Estes dependem de fatores como 1609,344 m por milha ou 0,0254 m por polegada, que não podem ser armazenados exatamente em binário, portanto cada conversão introduz um erro de arredondamento sub-epsilon.
Como isso foi medido?
Para cada par ordenado de unidades principais (A, B) dentro de uma categoria, começamos com o valor 1, convertemos A→B depois B→A e repetimos esse loop 1.000.000 vezes usando os fatores exatos dos dados de unidade da Convertitive e aritmética de dupla precisão padrão. Depois medimos a diferença absoluta do valor inicial de 1. Temperatura foi excluída porque é uma conversão afim (deslocamento), não uma razão pura. A computação é determinística e reproduzível.
Isso significa que Convertitive arredonda minhas respostas?
Convertitive computa com precisão dupla completa e apenas arredonda para exibição. O desvio estudado aqui é intrínseco à aritmética de ponto flutuante em si, não a qualquer arredondamento que Convertitive adiciona — e é muito menor do que o arredondamento de exibição, portanto você nunca vê isso.

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