Paritian

Programación

Calculadora de la Precisión de la Coma Flotante (IEEE 754: Float, Double, Media, bfloat16)

Qué tan gruesa es la recta numérica alrededor de cualquier valor en media precisión, bfloat16, precisión simple o doble: la distancia al número siguiente, el épsilon de la máquina, las cifras fiables y el mayor entero todavía exacto.

Resultados

Distancia hasta el siguiente número representable en ese valor 1,38778e-17
Esa distancia como fracción del valor 1,38778e-16
Épsilon de la máquina (distancia justo por encima de 1) 2,22045e-16
Cifras decimales fiables 15,95
Mayor entero antes de que los enteros empiecen a saltar 9,0072e+15
Mayor valor finito 1,79769e+308

Qué hace esta herramienta

Los números en coma flotante solo están espaciados por igual dentro de cada potencia de dos: la distancia se duplica cada vez que se duplica el valor, pero sigue siendo la misma fracción del valor. Por eso 0,1 + 0,2 no da exactamente 0,3, un float de 32 bits deja de contar enteros en 16 777 216, y un número de JavaScript solo es exacto para enteros hasta 2⁵³ (9 007 199 254 740 992). Más allá, la distancia en un double es 2, luego 4, luego 8. Use la distancia, y no el número de cifras mostradas, para juzgar hasta dónde se puede confiar en un resultado.

Fórmula

gap (ULP) = 2^(⌊log₂|x|⌋ − p) · ε = 2^−p · digits ≈ (p + 1) log₁₀ 2 · largest gap-free integer = 2^(p+1) (p = 10, 7, 23, 52 fraction bits)

Variables

SímboloSignificadoUnidad
fmFormato del número—
xValor a examinar—
UDistancia hasta el siguiente número representable en ese valor—
REsa distancia como fracción del valor—
EPÉpsilon de la máquina (distancia justo por encima de 1)—
DGCifras decimales fiables—
MIMayor entero antes de que los enteros empiecen a saltar—
MVMayor valor finito—

Ejemplo resuelto

  • Formato del número4
  • Valor a examinar0,1
  • Distancia hasta el siguiente número representable en ese valor1,38778e-17
  • Esa distancia como fracción del valor1,38778e-16
  • Épsilon de la máquina (distancia justo por encima de 1)2,22045e-16
  • Cifras decimales fiables15,95
  • Mayor entero antes de que los enteros empiecen a saltar9,0072e+15
  • Mayor valor finito1,79769e+308

Limitaciones

  • La fórmula supone condiciones ideales: sin pérdidas por fricción, sin resistencia del aire y sin pérdidas de rendimiento salvo que las introduzca.
  • El cálculo se realiza con precisión total y solo se redondea la presentación. Si copia un valor intermedio y lo vuelve a escribir, pueden aparecer pequeñas diferencias.