0% encontró este documento útil (0 votos)
382 vistas19 páginas

Norma IEEE 754: Formatos y Mantisas

La Norma IEEE 754 establece los formatos de representación de números de punto flotante en sistemas binarios. Define tres formatos principales (simple, doble y extendida precisión) que varían en el número de bytes y bits utilizados. Cada formato almacena el signo, exponente y mantisa de manera específica. La norma también define valores especiales como infinito, cero y NaN, y reglas para operaciones con estos valores. Prácticamente todos los procesadores modernos siguen esta norma para operaciones de coma flotante.

Cargado por

dennis
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
382 vistas19 páginas

Norma IEEE 754: Formatos y Mantisas

La Norma IEEE 754 establece los formatos de representación de números de punto flotante en sistemas binarios. Define tres formatos principales (simple, doble y extendida precisión) que varían en el número de bytes y bits utilizados. Cada formato almacena el signo, exponente y mantisa de manera específica. La norma también define valores especiales como infinito, cero y NaN, y reglas para operaciones con estos valores. Prácticamente todos los procesadores modernos siguen esta norma para operaciones de coma flotante.

Cargado por

dennis
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Formatos:

La Norma IEEE 754


En lo referente a la representacin binaria de los nmeros, el
Estndar utiliza tres formatos denominados de precisin simple
(equivalente al float C++); doble (equivalente al double) y
extendida (que podra corresponder al long double), aunque
existe un cuarto, denominado de cudruple precisin, no
contemplado en la norma que es tambin un estndar de facto.
Los tamaos son los siguientes:

Precisin Bytes bits


Simple 4 32
Doble 8 64
Extendida >= 10 >= 80
Cudruple 16 128

En todos los casos se utilizan tres campos para describir el nmero:


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 especificacin relativa a la precisin
y formato de los nmeros de "punto flotante". Incluye una lista de las
operaciones que pueden realizarse con dichos nmeros.

En realidad, la adopcin de este estndar se debe a que el hardware


que los sustenta tambin lo sigue. De hecho, prcticamente el 100%
de las procesadores que se fabrican siguen esta norma en lo que se
refiere al tratamiento y Operacin de los nmeros de "punto flotante.

El proceso de estandarizacin de las operaciones de punto flotante


comenz paralelamente al desarrollo por Intel (1976) de lo que
seran los coprocesadores aritmticos 8087. A partir de entonces
poda asegurarse que X + (Y + Z) proporcionara el mismo resultado
que (X + Y) + Z con cualquier compilador y cualquier conjunto de
nmeros.

[Link]
prepara-la-integracion-de-sus-propias-cpus
*
La Norma IEEE 754
Con la aparicin de los coprocesadores matemticos, la realizacin
de operaciones con nmeros fraccionarios se encomiendan al
hardware, en vez de a rutinas software que, hasta entonces, eran
especficas de cada compilador y cada plataforma.

Los coprocesadores matemticos, denominados tambin 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 versin final
del Estndar).

A partir del 80486, Intel incorpor el coprocesador matemtico junto


con el principal, con lo que su existencia dej de ser opcional y se
convirti en estndar. Estas "unidades de punto flotante" no solo
realizan las operaciones aritmticas bsicas (suma resta,
multiplicacin y divisin). Tambin incluyen operaciones como la raz
cuadrada, redondeo, resto, y funciones trascendentes como seno,
coseno, tangente, cotangente, logaritmos y exponenciacin. *
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 nmero binario con


signo segn una regla que, como veremos a continuacin, depende
del rango y del formato.

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


representan mantisas especiales.

El esquema de la distribucin utilizada para los de simple y doble


precisin es el indicado.
s EEEEEEEE mm mmmmmmmmmmmmmmmmmmm
Simple precisin:

1 8 bits 23 bits

s
Doble precisin:EEEEEEEEEEE mmmmmmmmmmmmmmmmmmmmmmm..mmmmmmm

*
1 11 52 bits
La Norma IEEE 754
Como veremos a continuacin, la interpretacin 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 representacin especial para el valor cero, lo que ha obligado a
definir reglas especiales de aritmtica cuando estos valores
intervienen en operaciones con valores normales o entre ellos.

A lo anterior se aade que existen dos tipos de representacin 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:
| Definicin del Cero: puesto que el nmero se supone
almacenado en forma normalizada, no es posible representar el
cero se supone siempre precedido de un 1. Por esta razn se
convino la siguiente representacin 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 estn a 1 y todos los de la mantisa a 0, el valor es +/-
infinito (segn el valor S). Esta distincin ha permitido al Estndar
definir procedimientos para continuar las operaciones despus
que se ha alcanzado uno de estos valores (despus 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 tambin


"subnormales").
| En estos casos no se asume que haya que aadir 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
tratara de un cero).

Ejemplo: 1 00000000 00100010001001010101010

signo exponente mantisa

Sistemas Digitales, *
clase N 6
La Norma IEEE 754
Valores no-numricos: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 ms significativo de la mantisa. QNaN tiene el primer
bit a 1, y significa "Indeterminado", SNaN tiene el primer bit a 0 y
significa "Operacin no-vlida".
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 representacin de nmeros no incluidos en los casos
especiales (distintos de cero que no sean infinitos ni valores no-
numricos), sigue reglas distintas segn la precisin y el tipo de
representacin (normal o subnormal).
Para calcular el valor V de un nmero binario IEEE 754 de
exponente E y mantisa M, debe recordarse que esta ltima
representa una fraccin binaria en notacin 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 clculo de la
fraccin binaria es anlogo al de la fraccin decimal.
Recordemos que la fraccin decimal 1304 (0.1304) equivale a :

Del mismo modo, la fraccin 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 representacin binaria estndar, puede calcularse mediante
las siguientes frmulas
Simple precisin, representacin normalizada:

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


inclusive) Al restarle 127 queda un rango entre

Ejemplo N1: 0 00001100 11010000000000000000000

Signo = (+) E =12;

Sistemas Digitales, *
clase N 6
La Norma IEEE 754

Simple precisin, representacin normalizada:

Ejemplo N2:
1 10001101 01101000000000000000000
Signo =( - ) E = 141;

Sistemas Digitales, *
clase N 6
La Norma IEEE 754
Simple precisin, representacin subnormal:

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


distinto de cero. La operatoria es anloga al caso anterior.

Ejemplo:
0 00000000 11010000000000000000000

Signo = ( + ) E = 0;

Sistemas Digitales, *
clase N 6
La Norma IEEE 754
Doble precisin, representacin normalizada:

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


inclusive)

Simple precisin, representacin subnormal:

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


cero. La operatoria es anloga al caso anterior.
Sistemas Digitales, *
clase N 6
La Norma IEEE 754
En resumen bajo la Norma IEEE -754 tenemos representacin:

Signo explcito
Representacin del exponente en exceso
Mantisa normalizada con un 1 implcito (1.M)

En el registro la distribucin es la siguiente:

signo exponente mantisa

dependiendo de la precisin usada se tiene:


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

Sistemas Digitales, *
clase N 6
La Norma IEEE 754
Rango de la representacin IEEE 754
En la prctica solo se consideran las representaciones normales, de
forma que la forma normal ms pequea corresponde a la siguiente
representacin binaria:
1 00000001 00000000000000000000001
Signo = ( - ) E = 1

Es significativo que el prximo valor en escala ascendente es:


1 00000001 00000000000000000000010
Signo = ( - ) E = 1

Sistemas Digitales, *
clase N 6
La Norma IEEE 754
Rango de la representacin IEEE 754(continuacin)

La diferencia entre ambos es:


lo que representa algo ms de una parte en 10 millones. Esta ser la
mejor precisin que podr alcanzarse en los procesos con nmeros
de coma flotante de simple precisin.

El valor mximo en la representacin normal, corresponde a la forma


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

Sistemas Digitales, *
clase N 6
Ejercicios
1. cul es el valor decimal de :
1 01111100 11000000000000000000000?

2. Bit del signo: 1= nmero negativo


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

El valor es:

Sistemas Digitales, *
clase N 6
Ejercicios
2. cul es la representacin en simple precisin de: 347.625?
Convertir el nmero a binario: 347.625= 101011011.101 en base 2
Normalizar el nmero (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 nmero es positivo
Resultado: el registro contiene la siguiente informacin:

0 1000011101011011101000000000000

Sistemas Digitales, *
clase N 6

También podría gustarte