Está en la página 1de 6

Consideraciones acerca del Estándar IEEE 754 

 
 

    Conceptos 
    Problemas con la Aritmética en Punto Flotante 
    Operaciones Aritméticas en Punto Flotante 
Bits de Guarda, Redondeo, Infinito, NaN, Números denormalizados 
 

 
 
 

Conceptos
Dentro del estándar IEEE 754, se definen varios formatos, como ser el
simple de 32 bits, el doble de 64 bits, además de los conocidos como simple
ampliado y doble ampliado.
El formato que se implementará en este trabajo práctico es conocido como
el formato simple, de 32 bits de representación en punto flotante.
Este formato, como muestra la figura 1, tiene un bit para el signo, 8 bits
para el exponente y 23 bits para la parte fraccionaria o mantisa. El
exponente es sesgado (“biased”); esto significa que un valor constante,
llamado sesgo, se resta del campo del exponente para conseguir el valor
del exponente verdadero. En el caso del formato simple, el valor del sesgo
es 127.

 
 

Las características más importantes del formato IEEE 754 en su formato


simple se citan a continuación:

Los números en punto fijo normalizados se representan con


exponentes desde 1 hasta 254 (el cero y el 255 se utilizan para casos
especiales, como se verá mas adelante.). Como ya se dijo, el exponente
está sesgado, siendo el rango de exponentes de  (1-127 = )  –126 a  (254-
127 = ) 127.
Un número normalizado debe contener un bit 1 a la izquierda del
punto binario correspondiente a la mantisa; este se encuentra
implícito, de manera a tener una mantisa efectiva de 24 bits:
1, x x x x x x x . . . . . . . . . . x 
Un exponente cero junto con una parte fraccionaria cero representa
el cero positivo o negativo, dependiendo del bit de signo.
Un exponente todo unos junto con una mantisa cero representa,
dependiendo también del bit de signo, infinito positivo o negativo.
Como en el caso del cero, el infinito se utiliza para redondeo de
números muy pequeños o muy grandes, que no se pueden representar
con este formato.
Un exponente cero junto con una parte fraccionaria distinta de cero
representa lo que se conoce como un número no normalizado (se
explicará más adelante).
A un exponente de todo unos junto con una parte fraccionaria distinta
de cero se le da el nombre de NaN, que significa “no representa un
número” (Not a Number), que se emplean para señalar varias
condiciones de excepción.

En la TABLA I se resumen las distintas representación de estos casos,


teniendo en cuenta que “e” representa el exponente y  “f” la mantisa.

 Tabla I
  Signo Exponente Mantisa Valor
Sesgado
Cero positivo 0 0 0 0
Cero negativo 1 0 0 -0
Más infinito 0 255 (todos 1s) 0 µ 
Menos infinito 1 255 (todos 1s) 0 - µ 
NaN silencioso 0o1 255 (todos 1s) ¹0 NaN
NaN indicador 0o1 255 (todos 1s) ¹0 NaN
Positivo normalizado ¹ 0 0 0 < e 255 f (1,f) * 2e-127
Negativo normalizado ¹ 0 1 0 < e 255 f - (1,f) * 2e-127
Positivo denormalizado 0 0 f¹0 (0,f) * 2-126
Negativo denormalizado 1 0 f¹0 - (0,f) * 2-126
 
 
 
 

Problemas con la aritmética en punto flotante


Cuando se realizan operaciones aritméticas en punto flotante, pueden
surgir problemas como resultado de estas operaciones. Estos pueden ser:
Desbordamiento del exponente: un exponente positivo que excede el
valor máximo representable. Este casos se puede representar como +
? ó ? ?.
Desbordamiento a cero del exponente: un exponente negativo que
exceda el valor máximo permitido. Esto quiere decir que el número es
demasiado pequeño para ser representado, y puede ser aproximado
por +0 ó ?0.
Desbordamiento a cero de la mantisa: debido a que en la operación de
suma y resta los exponentes se deben igualar, pueden perderse
dígitos por la parte derecha de la mantisa, durante el proceso de
alineación de la misma.
Desbordamiento de la mantisa: la suma de dos mantisas del mismo
signo puede producir un acarreo debido al bit más significativo.

 
 
 
 

Operaciones aritméticas en punto flotante


Consideraciones sobre precisión

Bits de guarda

Para la operación en punto flotante, los exponentes y las mantisas son


cargados en registros de la ALU. En el caso de la mantisa, el tamaño del
registro es casi siempre mayor que la longitud de la mantisa. Así, el
registro contiene bits adicionales, llamados bits de guarda o de respaldo,
que se añaden a la derecha de la mantisa en forma de ceros.
Estos bits se agregan para evitar la perdida de precisión, cuando se igualan
los exponentes (se hace correr la coma binaria).
En este trabajo no se utilizan para ninguna operación los bits de guarda.

Redondeo

Otro detalle que afecta a la precisión del resultado de las operaciones


aritméticas es la política de redondeo utilizada. Esto ocurre ya que  el
resultado de cualquier operación sobre las mantisas se almacena en un
registro más grande, y cuando el resultado se pone de nuevo en el formato
de punto flotante, hay que eliminar los bits extras.
El estándar IEEE 754 enumera cuatro tipos de redondeo:

Redondeo al más próximo: el resultado se redondea al número exacto


más próximo representable. Si ambos valores se encuentran
igualmente próximos, se aproxima a aquel cuyo bit menos
significativo sea 0.
Redondeo hacia + infinito : el resultado se redondea por exceso hacia
más infinito.
Redondeo hacia - infinito el resultado se redondea por defecto hacia
menos infinito. Este como el redondeo hacia + infinito se utilizan en lo
que se conoce como aritmética de intervalos, que consiste en obtener
primero el resultado utilizando el redondeo hacia redondeo hacia -
infinito, que indica el límite inferior del resultado; luego se repite la
operación, utilizando el redondeo hacia - infinito, obteniendo así el
límite inferior del resultado. Así entonces, el resultado final de la
operación, se da como un rango entre dos números representables.
Redondeo hacia cero: el resultado se redondea hacia cero. Es
simplemente un truncamiento, en el cual se ignoran los bits extra. Es
la más utilizada.

El tipo de redondeo utilizado en este trabajo es el Redondeo al más


próximo.

 
 

Otras consideraciones

Infinito

Las operaciones aritméticas con infinito son tratadas como casos límite de
la aritmética real, dándose la siguiente interpretación a los valores de
infinitos:
- µ < (cualquier número finito) < + µ 
 
 Algunas operaciones con infinitos son:
número + (+µ ) = +µ
número - (+µ ) = - µ
número + (- µ ) = - µ
número - (- µ ) = +µ
(+µ ) + (+µ ) = +µ
(- µ ) + (- µ ) = - µ
(- µ ) - (+µ ) = - µ
(+µ ) - (- µ ) = +
 

NaN indicadores y silenciosos

Es una entidad simbólica (representa algo). Existen dos tipos. Un NaN


indicador señala una condición de operación no válida siempre que
aparece como operando. Un NaN silencioso se propaga entre la mayoría de
operaciones si señalización alguna. Es importante indicar, que ambos NaN
tienen la misma representación y su implementación depende de cada caso
en particular. 
En el caso de nuestro trabajo, es utilizado un solo tipo de NaN. Este NaN es
el silencioso, ya que siempre se pueden saber si el resultado de la
operación realizada fue un NaN. Además, si uno de los operando es NaN, el
resultado automáticamente es un NaN, como se explicará mas adelante. 
Las operaciones que produce un NaN se muestran en la Tabla II. 

Tabla II 

 
Suma o Resta: (+µ ) + (- µ )
  (- µ ) + (+µ )
  (+µ ) - (+µ )
  (- µ ) - (- µ )
Multiplicación: 0 x µ 
División: 0/0
  

Números denormalizados

Se incluyen en el IEEE 754 para tratar situaciones de desbordamiento de


exponentes, es decir, cuando el resultado es demasiado pequeño
(exponente negativo con magnitud muy grande). En este caso, el resultado
se desnormaliza desplazando a la derecha la parte fraccionaria (a la
izquierda la coma binaria) e incrementando el exponente una vez por cada
desplazamiento, hasta que dicho exponente esté dentro de un rango
representable.
Para un mejor entendimiento, se muestra en la figura 2 el efecto de la
denormalización. Los números normalizados pueden agruparse en
intervalos de la forma [2n, 2n+1]. Dentro de cada uno de estos intervalos, la
parte del exponente de los número es la misma para todos ellos, y solo
varía la parte fraccionaria, produciéndose así un espaciado uniforme
entre cada número representable dentro de ese intervalo. A medida que
nos aproximamos a cero, cada intervalo sucesivo es la mitad de ancho que
el precedente, pero contiene la misma cantidad de números
representables.
Existe así una zona que no se utiliza, muy próxima a cero. El menor
número positivo representable en forma normalizada es 2- 126. Sin
embargo, al considerar los números denormalizados, se añaden 223
números uniformemente distribuidos entre 0 y 2- 126, como se muestra en
la figura 2. 

  

  
En este trabajo, los números denormalizados no son implementados. 

 
 

 
EN RESUMEN, lo implementado en este trabajo, con respecto al
formato IEEE 754 son los siguientes aspectos:

Formato simple de 32 bits de la IEEE 754, con exponente sesgado, con


sesgo de 127.
Se utilizan representación para:
números normalizados positivos
números normalizados negativos.
cero positivo
cero negativo
infinito positivo
infinito negativo
NaN silencioso
Estas representaciones no solo se utilizan como resultado de una
operación, sino que se los puede utilizar también como operando de
cualquiera de las operaciones, como se detallará mas adelante.
El desbordamiento a cero (underflow) se toma, dependiendo del
signo, como cero positivo o negativo.
El desbordamiento (overflow) se toma, dependiendo del signo, como
infinito positivo o negativo.
No se utilizan bits de guarda
Se utiliza la representación del redondeo al más próximo.
No se utilizan números denormalizados.

Volver arriba
Volver al sitio de 
la Materia Micro II 

Inicio