MayorNumeroPreciso-español

Last edit

Summary: Aclaración del hecho.

Changed:

< Esto mostrará una lista de números. Por ejemplo, el mayor número confiable que este proceso encuentra al correr en mi computadora con gawk 3.1.5 bajo linux en i386 es 2^52.

to

> Esto mostrará una lista de números. Por ejemplo, el mayor número confiable que este proceso encuentra al correr en mi computadora con gawk 3.1.5 bajo linux en i386 es 2^52, esto se debe a que el tamaño en bits de la mantisa en los números de coma flotantes de doble precisión del IEEE 754 es también 52.


La mayoría de las implementaciones usan números de coma flotante de alta precisión conocidos como "double" para representar cualquier valor numérico. Sin embargo esto podría preocuparnos cuando intentamos sumar grandes números en archivos de logs muy grandes: ¿Cuándo podémos confiar en los números de awk y cuándo deberíamos usar dc o bc para tener precisión arbitraria?

La forma más fácil para investigar la pérdida de precisión es encontrar cuando un número N deja de ser distinto de N+1:

awk 'BEGIN{for (i = 0; i < 64; i++) printf "%s\t%19.0f\t%s\n", i, 2^i, (((2^i+1) == (2^i))? "no " : "") "preciso"}'

Esto mostrará una lista de números. Por ejemplo, el mayor número confiable que este proceso encuentra al correr en mi computadora con gawk 3.1.5 bajo linux en i386 es 2^52, esto se debe a que el tamaño en bits de la mantisa en los números de coma flotantes de doble precisión del IEEE 754 es también 52.