Representación estándar IEEE de números en punto flotante
La representación de números grandes en binario informático requiere un estándar que garantice que no haya grandes discrepancias en los cálculos. Por eso, el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) desarrolló el Estándar IEEE para la Aritmética en Punto Flotante (IEEE 754).
Hay tres componentes del IEEE 754:
- La base: 0 representa un número positivo; 1 representa un número negativo.
- El exponente sesgado: el exponente se utiliza para representar exponentes positivos y negativos. Por lo tanto, se debe agregar un sesgo al exponente real para obtener el exponente almacenado.
- La mantisa: también conocida como significando, la mantisa representa los bits de precisión del número.
Con estos componentes, el IEEE 754 representa los números de punto flotante de dos formas: formato de precisión simple y formato de precisión doble. Aunque todavía hay una gran variedad de formas de representar números de punto flotante, el IEEE 754 es el más común porque generalmente es la representación más eficiente de los valores numéricos.
¿Qué es el formato de punto flotante de precisión simple?
El formato de punto flotante de precisión simple utiliza 32 bits de memoria computacional y puede representar una amplia gama de valores numéricos. A menudo conocido como FP32, este formato se utiliza mejor para cálculos que no se verán afectados por un poco de aproximación.
¿Qué es el formato de punto flotante de precisión doble?
El formato de punto flotante de precisión doble, por otro lado, ocupa 64 bits de la memoria computacional y es mucho más preciso que el formato de precisión simple. Este formato suele denominarse FP64 y se utiliza para representar valores que requieren un rango mayor o un cálculo más preciso.
Aunque la precisión doble permite una mayor exactitud, también requiere más recursos computacionales, almacenamiento en memoria y transferencia de datos. El costo de usar este formato no siempre tiene sentido para todos los cálculos.
Diferencia entre precisión simple y doble
La forma más sencilla de distinguir entre la informática de precisión simple y la de precisión doble es observar cuántos bits representan el número en punto flotante. En la precisión simple, se utilizan 32 bits para representar el número en punto flotante. En el caso de la precisión doble, se utilizan 64 bits para representar el número en punto flotante.
Tomemos como ejemplo el número de Euler (e). Estos son los primeros 50 dígitos decimales de e: 2.7182818284590452353602874713526624977572470936999.
Este es el número de Euler en binario, convertido en precisión simple:
01000000001011011111100001010100
Este es el número de Euler en binario, convertido en precisión doble:
010000000000010110111111 0000101010001011000101000101011101101001
El primer número representa la base. El siguiente conjunto de números (ocho para la precisión simple y once para la precisión doble) representa el exponente sesgado. El último conjunto de números (23 para la precisión simple y 52 para la precisión doble) representa la mantisa.
Cuadro comparativo: Precisión simple frente a precisión doble
|
Precisión simple
|
Precisión doble
|
Descripción general
|
Utiliza 32 bits de memoria para representar un valor numérico, con uno de los bits representando el signo de la mantisa
|
Utiliza 64 bits de memoria para representar un valor numérico, con uno de los bits representando el signo de la mantisa
|
Exponente sesgado
|
8 bits utilizados para el exponente
|
11 bits utilizados para el exponente
|
Mantisa
|
Utiliza 23 bits para la mantisa (para representar la parte fraccionaria)
|
Utiliza 52 bits para la mantisa (para representar la parte fraccionaria)
|
Aplicación real
|
A menudo se utiliza para juegos o cualquier programa que requiera una representación más amplia sin un alto nivel de precisión
|
A menudo se utiliza para cálculos científicos y programas complejos que requieren un alto nivel de precisión
|