¿Qué es IEEE754?
Representación estándar
Para facilitar el trasplante de software, el formato de expresión de números de punto flotante debe tener un estándar unificado (definición). 1985 IEEE (Instituto de Ingenieros Eléctricos y Electrónicos) propuso el estándar IEEE754. Según el estándar, la base es 2, el código de secuencia e está representado por un código de desplazamiento y la mantisa m está representada por el código original. Según el método de normalización del código original, el dígito más alto es siempre 1, y este estándar almacena este 1 de forma predeterminada, de modo que el rango de representación de la mantisa es un dígito más grande que el almacenamiento real. El formato de coma flotante de los números reales en el estándar IEEE754 es:
Hay tres formas específicas:
Tabla 3 Parámetros de formato de tres números de coma flotante en IEEE 754
Números de coma flotante
Escriba el valor de desplazamiento del bit de almacenamiento ()
Rango de valores expresión verdadera del código de pedido e
Código de secuencia de símbolos numéricos mantisa número total de dígitos hexadecimal Sistema decimal
Número real corto 1 823 32 7FH 1 27 1 ~ 254.
Número real largo 1 1 52 64 3 FFH 1 023 1 ~ 2046.
Número real temporal 1 15 64 803 FFFH 16383 1 ~ 32766.
IEEE tiene regulaciones especiales (2047) para el caso en que el código de rango sea 0 o 255.
Cuando el número total de números de punto flotante permanece sin cambios, su valor de precisión y su valor de rango son contradictorios, por lo que generalmente las máquinas proporcionan formatos de precisión simple y doble. La Tabla 4 enumera el rango de expresión de los números de punto flotante de precisión simple IEEE754. Para la precisión doble, solo es necesario modificar el valor de compensación y el número de dígitos de mantisa.
Tabla 4 Rangos de punto flotante de precisión simple y doble precisión IEEE754
Valores verdaderos del código de punto flotante de rango típico
Código de secuencia de signo numérico (Ms) (e) mantisa (m)
El número positivo más grande
El número positivo más pequeño
El número negativo con el valor absoluto más grande
El número negativo con el valor absoluto más pequeño 0 p>
1
1 11111110
00000001
11111110
00000001 11…………11
00…………00
11…………11
00…………00
El formato de almacenamiento de los números de punto flotante estándar es similar a la Figura 1(b), pero un 1 se almacena implícitamente en la mantisa, por lo que hay un entero 1 más que la forma general al calcular el valor verdadero de la mantisa. Dado que la forma de almacenamiento del código de rango E tiene un desplazamiento de 127, el cálculo de su desplazamiento de código es diferente del conocido desplazamiento de 128. Los valores positivos son 1 menos que el valor obtenido por 128 offset y los valores negativos son 1 más. Para evitar errores de cálculo y facilitar la comprensión, E suele almacenarse como un valor de verdad binario. Por ejemplo, si el valor -0,5 se almacena en el formato de precisión simple de IEEE754, primero, -0,510 = -0,12 = -1,0×2-12, donde s=1. e = 12610 = 01111102, el formato de almacenamiento es:
1 0111110 0000000000000 = be 000000000016
Aquí, diferentes subíndices representan diferentes decimales.