Leí muchas respuestas, pero ninguna parece explicar correctamente de dónde viene la palabra doble . Recuerdo una muy buena explicación dada por un profesor universitario que tuve hace algunos años.
Recordando el estilo de la respuesta de VonC, una única representación de coma flotante de precisión utiliza una palabra de 32 bits.
- 1 bit para el signo , S
- 8 bits para el exponente , 'E'
- 24 bits para la fracción , también llamada mantisa , o coeficiente (aunque solo se representan 23). Llamémoslo 'M' (para mantissa , prefiero este nombre ya que "fracción" puede malinterpretarse).
Representación:
S EEEEEEEE MMMMMMMMMMMMMMMMMMMMMMM
bits: 31 30 23 22 0
(Solo para señalar, el bit de signo es el último, no el primero).
Una representación de coma flotante de doble precisión utiliza una palabra de 64 bits.
- 1 bit para el signo , S
- 11 bits para el exponente , 'E'
- 53 bits para la fracción / mantisa / coeficiente (aunque solo 52 están representados), 'M'
Representación:
S EEEEEEEEEEE MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
bits: 63 62 52 51 0
Como puede observar, escribí que la mantisa tiene, en ambos tipos, un poco más de información en comparación con su representación. De hecho, la mantisa es un número representado sin todo su no significativo 0
. Por ejemplo,
- 0.000124 se convierte en 0.124 × 10 −3
- 237.141 se convierte en 0.237141 × 10 3
Esto significa que la mantisa siempre tendrá la forma
0.α 1 α 2 ... α t × β p
donde β es la base de la representación. Pero como la fracción es un número binario, α 1 siempre será igual a 1, por lo que la fracción se puede reescribir como 1.α 2 α 3 ... α t + 1 × 2 p y se puede suponer implícitamente el 1 inicial, haciendo espacio para un bit extra (α t + 1 ).
Ahora, obviamente es cierto que el doble de 32 es 64, pero no es de ahí de donde viene la palabra.
La precisión indica el número de dígitos decimales que son correctos , es decir, sin ningún tipo de error de representación o aproximación. En otras palabras, indica cuántos dígitos decimales se pueden usar con seguridad .
Dicho esto, es fácil estimar la cantidad de dígitos decimales que se pueden usar de forma segura:
- precisión simple : log 10 (2 24 ), que tiene aproximadamente 7 ~ 8 dígitos decimales
- doble precisión : log 10 (2 53 ), que es de aproximadamente 15 ~ 16 dígitos decimales