El estándar IEEE para aritmética de punto flotante (IEEE 754) es un estándar técnico para el cálculo de punto flotante que fue establecido en 1985 por el Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) . El estándar abordó muchos problemas encontrados en las diversas implementaciones de punto flotante que dificultaban su uso confiable y reducían su portabilidad. El punto flotante del estándar IEEE 754 es la representación más común hoy en día para números reales en computadoras, incluidas las PC basadas en Intel, Mac y la mayoría de las plataformas Unix.
Hay varias formas de representar un número de coma flotante, pero IEEE 754 es la más eficiente en la mayoría de los casos. IEEE 754 tiene 3 componentes básicos:
- El signo de Mantisa –
Esto es tan simple como el nombre. 0 representa un número positivo mientras que 1 representa un número negativo. - El exponente sesgado –
El campo de exponente debe representar exponentes tanto positivos como negativos. Se agrega un sesgo al exponente real para obtener el exponente almacenado. - La mantisa normalizada –
La mantisa es parte de un número en notación científica o de un número de coma flotante, que consta de sus dígitos significativos. Aquí tenemos sólo 2 dígitos, es decir, O y 1. Entonces, una mantisa normalizada es aquella que tiene solo un 1 a la izquierda del decimal.
Los números IEEE 754 se dividen en dos según los tres componentes anteriores: precisión simple y precisión doble.
edith mack hirsch
| TIPOS | FIRMAR | EXPONENTE SESGADO | MANTISA NORMALIZADA | INCLINACIÓN |
|---|---|---|---|---|
| Precisión simple | 1 (bitio 31) | 8(30-23) | 23(22-0) | 127 |
| Precisión doble | 1 (63 bits) | 11(62-52) | 52(51-0) | 1023 |
Ejemplo -
85.125 85 = 1010101 0.125 = 001 85.125 = 1010101.001 =1.010101001 x 2^6 sign = 0 1. Single precision: biased exponent 127+6=133 133 = 10000101 Normalised mantisa = 010101001 we will add 0's to complete the 23 bits The IEEE 754 Single precision is: = 0 10000101 01010100100000000000000 This can be written in hexadecimal form 42AA4000 2. Double precision: biased exponent 1023+6=1029 1029 = 10000000101 Normalised mantisa = 010101001 we will add 0's to complete the 52 bits The IEEE 754 Double precision is: = 0 10000000101 0101010010000000000000000000000000000000000000000000 This can be written in hexadecimal form 4055480000000000>
Valores Especiales: IEEE se ha reservado algunos valores que pueden causar ambigüedad.
- Cero -
Cero es un valor especial indicado con un exponente y una mantisa de 0. -0 y +0 son valores distintos, aunque ambos son iguales.
- Desnormalizado –
Si el exponente es todo ceros, pero la mantisa no, entonces el valor es un número desnormalizado. Esto significa que este número no tiene uno inicial antes del punto binario. - Infinidad -
Los valores +infinito y -infinito se denotan con un exponente de todos unos y una mantisa de todos ceros. El bit de signo distingue entre infinito negativo e infinito positivo. Las operaciones con valores infinitos están bien definidas en IEEE. - No es un número (NAN) –
El valor NAN se utiliza para representar un valor que es un error. Esto se representa cuando el campo exponente son todos unos con un bit de signo cero o una mantisa que no es 1 seguido de ceros. Este es un valor especial que podría usarse para indicar una variable que aún no tiene un valor.
| EXPONENTE | MANTISA | VALOR |
|---|---|---|
| 0 | 0 | exacto 0 |
| 255 | 0 | Infinidad |
| 0 | no 0 | desnormalizado |
| 255 | no 0desventajas de internet | No es un número (NAN) |
Similar para doble precisión (simplemente reemplazando 255 por 2049), rangos de números de coma flotante:
| Desnormalizado | Normalizado | decimales aproximados | |
|---|---|---|---|
| Precisión simple | ± 2-149a (1 – 2-23)×2-126 | ± 2-126a (2 – 2-23)×2127 | ± aproximadamente 10-44.85a aproximadamente 1038.53 |
| Precisión doble | ± 2-1074a (1 – 2-52)×2-1022 | ± 2-1022a (2 – 2-52)×21023 | ± aproximadamente 10-323.3a aproximadamente 10308.3 |
El rango de números de coma flotante positivos se puede dividir en números normalizados y números desnormalizados que utilizan solo una parte de la precisión de las fracciones. Dado que cada número de coma flotante tiene un valor negado correspondiente, los rangos anteriores son simétricos alrededor de cero.
nube de primavera
Hay cinco rangos numéricos distintos que los números de punto flotante de precisión simple no pueden representar con el esquema presentado hasta ahora:
- Números negativos menores que – (2 – 2-23) × 2127(desbordamiento negativo)
- Números negativos mayores que – 2-149(desbordamiento negativo)
- Cero
- Números positivos menores que 2-149(desbordamiento positivo)
- Números positivos mayores que (2 – 2-23) × 2127(desbordamiento positivo)
El desbordamiento generalmente significa que los valores han crecido demasiado para ser representados. El subdesbordamiento es un problema menos grave porque simplemente denota una pérdida de precisión, que se garantiza que se aproximará mucho a cero.
A continuación se muestra la tabla del rango efectivo total de números finitos de punto flotante IEEE:
| Binario | Decimal | |
|---|---|---|
| Soltero | ± (2 – 2-23) × 2127 | aproximadamente ± 1038.53 |
| Doble | ± (2 – 2-52) × 21023 | aproximadamente ± 10308.25 |
Operaciones Especiales -
| Operación | Resultado |
|---|---|
| n ÷ ± Infinito | 0 |
| ±Infinity × ±Infinity | ±Infinity |
| ±nonZero ÷ ±0 | ±Infinity |
| ±finite × ±Infinity | ±Infinity |
| Infinito + Infinito Infinito – -Infinito | +Infinito |
| -Infinito – Infinito -Infinito + – Infinito | - Infinidad |
| ±0 ÷ ±0 | Yaya |
| ±Infinity ÷ ±Infinity | Yaya |
| ±Infinity × 0 | Yaya |
| NaN == NaN | FALSO |