Está en la página 1de 19

La Norma IEEE 754

Formatos:

En lo referente a la representación binaria de los números, el


Estándar utiliza tres formatos denominados de precisión simple
(equivalente al float C++); doble (equivalente al double) y
extendida (que podría corresponder al long double), aunque existe
un cuarto, denominado de cuádruple precisión, no contemplado
en la norma que es también un estándar de facto.
Los tamaños son los siguientes:

Precisión Bytes bits


Simple 4 32
Doble 8 64
Extendida >= 10 >= 80
Cuádruple 16 128

En todos los casos se utilizan tres campos para describir el número:


El signo S, el exponente k y la mantisa n, que se almacenan en
ese orden en memoria (no en los registros del procesador).
*
La Norma IEEE 754
En 1985, el IEEE (Institute of Electrical and Electronics Engineers)
publicó la norma IEEE 754. Una especificación relativa a la precisión
y formato de los números de "punto flotante". Incluye una lista de las
operaciones que pueden realizarse con dichos números.

En realidad, la adopción de este estándar se debe a que el hardware


que los sustenta también lo sigue. De hecho, prácticamente el 100%
de las procesadores que se fabrican siguen esta norma en lo que se
refiere al tratamiento y Operación de los números de "punto flotante”.

El proceso de estandarización de las operaciones de punto flotante


comenzó paralelamente al desarrollo por Intel (1976) de lo que
serían los coprocesadores aritméticos 8087. A partir de entonces
podía asegurarse que X + (Y + Z) proporcionaría el mismo resultado
que (X + Y) + Z con cualquier compilador y cualquier conjunto de
números.

http://t.xataka.com/ordenadores/los-mac-de-2016-podrian-no-tener-ya-corazon-intel-apple-prepara-
la-integracion-de-sus-propias-cpus
*
La Norma IEEE 754
Con la aparición de los coprocesadores matemáticos, la realización
de operaciones con números fraccionarios se encomiendan al
hardware, en vez de a rutinas software que, hasta entonces, eran
específicas de cada compilador y cada plataforma.

Los coprocesadores matemáticos, denominados también FPUs


(Floating-Pount Units) comenzaron siendo circuitos integrados
(opcionales) que se insertaban en la placa base junto al procesador
principal. Por ejemplo los 8087, 80287 y 80387 de Intel (este último
fue el primero que proporcionó soporte completo para la versión final
del Estándar).

A partir del 80486, Intel incorporó el coprocesador matemático junto


con el principal, con lo que su existencia dejó de ser opcional y se
convirtió en estándar. Estas "unidades de punto flotante" no solo
realizan las operaciones aritméticas básicas (suma resta,
multiplicación y división). También incluyen operaciones como la raíz
cuadrada, redondeo, resto, y funciones trascendentes como seno,
coseno, tangente, cotangente, logaritmos y exponenciación. *
La Norma IEEE 754

• El signo S, se almacena como es usual en un bit (0 significa positivo,


1 negativo).

• El exponente k se almacena en forma de un número binario con


signo según una regla que, como veremos a continuación, depende
del rango y del formato.

• La mantisa n se almacena en forma normalizada, salvo cuando se


representan mantisas especiales.

El esquema de la distribución utilizada para los de simple y doble


precisión es el indicado.
s EEEEEEEE mm mmmmmmmmmmmmmmmmmmm
Simple precisión:

1 8 bits 23 bits

Doble precisión:
s EEEEEEEEEEE mmmmmmmmmmmmmmmmmmmmmmm……..………mmmmmmm

*
1 11 52 bits
La Norma IEEE 754
Como veremos a continuación, la interpretación de los patrones de
bits contenidos en el exponente y en la mantisa sigue reglas algo
complicadas.

Por ejemplo, se considera la existencia de valores especiales:

+Infinito; -Infinito; NaN ("Not a Number") y


una representación especial para el valor cero, lo que ha obligado a
definir reglas especiales de aritmética cuando estos valores
intervienen en operaciones con valores normales o entre ellos.

A lo anterior se añade que existen dos tipos de representación para


los valores no especiales, cada uno con sus reglas; son las
denominadas formas normalizadas y subnormales.

Sistemas Digitales, *
clase Nº 6
La Norma IEEE 754
Mantisas especiales:
| Definición del Cero: puesto que el número se supone
almacenado en forma normalizada, no es posible representar el
cero se supone siempre precedido de un “1”. Por esta razón se
convino la siguiente representación del cero.
Ejemplo:
0 00000000 00000000000000000000000 = +0

S exponente mantisa

1 00000000 00000000000000000000000 = -0

S exponente mantisa

Sistemas Digitales, *
clase Nº 6
La Norma IEEE 754
Mantisas especiales:

• Infinitos: se ha convenido que cuando todos los bits del


exponente están a 1 y todos los de la mantisa a 0, el valor es +/-
infinito (según el valor S). Esta distinción ha permitido al Estándar
definir procedimientos para continuar las operaciones después
que se ha alcanzado uno de estos valores (después de un
overflow).
Ejemplo:
0 11111111 00000000000000000000000 = +Infinito

S exponente mantisa

1 11111111 00000000000000000000000 = -Infinito

S exponente mantisa

Sistemas Digitales, *
clase Nº 6
La Norma IEEE 754

• Valores no-normalizados (denominados también


"subnormales").
| En estos casos no se asume que haya que añadir un 1
la mantisa para obtener su valor. Se identifican porque
todos los bits del exponente son 0 pero la mantisa
presenta un valor distinto de cero (en caso contrario se
trataría de un cero).

Ejemplo: 1 00000000 00100010001001010101010

signo exponente mantisa

Sistemas Digitales, *
clase Nº 6
La Norma IEEE 754
Valores no-numéricos:Denominados NaN ("Not-a-number").
Se identifican por un exponente con todos sus valores a 1, y una
mantisa distinta de cero. Existen dos tipos QNaN ("Quiet NaN") y
SNaN ("Signalling NaN"), que se distinguen dependiendo del valor
0/1 del bit más significativo de la mantisa. QNaN tiene el primer
bit a 1, y significa "Indeterminado", SNaN tiene el primer bit a 0 y
significa "Operación no-válida".
Ejemplo:
0 11111111 10000100000000000000000 = QNaN

signo exponente mantisa


1 11111111 00100010001001010101010 = SNaN
signo exponente mantisa

Sistemas Digitales, *
clase Nº 6
La Norma IEEE 754
Significados normales
La representación de números no incluidos en los casos
especiales (distintos de cero que no sean infinitos ni valores no-
numéricos), sigue reglas distintas según la precisión y el tipo de
representación (normal o subnormal).
Para calcular el valor V de un número binario IEEE 754 de
exponente E y mantisa M, debe recordarse que esta última
representa una fracción binaria en notación normalizada . Es
decir, hay que sumarle una unidad. En estas condiciones, si por
ejemplo, el contenido de la mantisa es M=0.254 se supone que el
valor de la mantisa es 1 + 0.254. Por su parte el cálculo de la
fracción binaria es análogo al de la fracción decimal.
Recordemos que la fracción decimal 1304 (0.1304) equivale a :

Del mismo modo, la fracción binaria 1101 (0.1101) equivale a:

Sistemas Digitales,
: *
clase Nº 6
La Norma IEEE 754
Teniendo en cuenta estas observaciones, el valor decimal V de
una representación binaria estándar, puede calcularse mediante
las siguientes fórmulas
Simple precisión, representación normalizada:

0 < E < 255, luego E se mueve en el intervalo 1 a 254 (ambos


inclusive) Al restarle 127 queda un rango entre

Ejemplo N°1: 0 00001100 11010000000000000000000

Signo = (+) E =12;

Sistemas Digitales, *
clase Nº 6
La Norma IEEE 754

Simple precisión, representación normalizada:

Ejemplo N°2:
1 10001101 01101000000000000000000
Signo =( - ) E = 141;

Sistemas Digitales, *
clase Nº 6
La Norma IEEE 754
Simple precisión, representación subnormal:

Como se ha señalado , en estos casos es E = 0, y M es


distinto de cero. La operatoria es análoga al caso anterior.

Ejemplo:
0 00000000 11010000000000000000000

Signo = ( + ) E = 0;

Sistemas Digitales, *
clase Nº 6
La Norma IEEE 754
Doble precisión, representación normalizada:

0 < E < 2047, luego E se mueve en el intervalo 1 a 2046 (ambos


inclusive)

Simple precisión, representación subnormal:

Como se ha señalado , en estos casos es E = 0, y M es distinto de


cero. La operatoria es análoga al caso anterior.
Sistemas Digitales, *
clase Nº 6
La Norma IEEE 754
En resumen bajo la Norma IEEE -754 tenemos representación:

• Signo explícito
• Representación del exponente en exceso
• Mantisa normalizada con un “1” implícito (1.M)

En el registro la distribución es la siguiente:

signo exponente mantisa

dependiendo de la precisión usada se tiene:


signo exponente mantisa
Simple (32 bits) 1 8 23
Doble (64 bits) 1 11 52
Cuádruple(128 bits) 1 15 112

Sistemas Digitales, *
clase Nº 6
La Norma IEEE 754
Rango de la representación IEEE 754
En la práctica solo se consideran las representaciones normales, de
forma que la forma normal más pequeña corresponde a la siguiente
representación binaria:
1 00000001 00000000000000000000001
Signo = ( - ) E=1

Es significativo que el próximo valor en escala ascendente es:


1 00000001 00000000000000000000010
Signo = ( - ) E=1

Sistemas Digitales, *
clase Nº 6
La Norma IEEE 754
Rango de la representación IEEE 754(continuación)

La diferencia entre ambos es:


lo que representa algo más de una parte en 10 millones. Esta será la
mejor precisión que podrá alcanzarse en los procesos con números de
coma flotante de simple precisión.

El valor máximo en la representación normal, corresponde a la forma


binaria:
0 11111110 11111111111111111111111
Signo = ( + ) E = 254

Sistemas Digitales, *
clase Nº 6
Ejercicios
1. ¿cuál es el valor decimal de :
1 01111100 11000000000000000000000?

1. Bit del signo: 1= número negativo


2. Exponente= 01111100=124
3. Mantisa=0,11000000000000000000000= 0.75

El valor es:

Sistemas Digitales, *
clase Nº 6
Ejercicios
2. ¿cuál es la representación en simple precisión de: 347.625?
• Convertir el número a binario: 347.625= 101011011.101 en base 2
• Normalizar el número (mover el punto decimal hasta que haya un
solo 1 a la izquierda.
101011011.101=1.01011011101x 28
• Mantisa = 01011011101
• Exponente: 8 en exceso 127=8+127 = 135 = 10000111
• Signo = 0, el número es positivo
Resultado: el registro contiene la siguiente información:

0 1000011101011011101000000000000

Sistemas Digitales, *
clase Nº 6

También podría gustarte