miércoles, 27 de agosto de 2008

Trabajando con punto flotante

MATERIA : Arquitectura de Computadores
NOMBRE : Jose David Romero de la Cruz
CODIGO : 94.514.156
TEMA : Números en punto flotante
CONTENIDO : Punto Flotante


Representación de los números en punto flotante
El punto flotante se utiliza para representar números no enteros, números muy grandes o números muy pequeños.
Un número en punto flotante se expresa como:
m x re
donde,
(m) es la mantisa y es un número de punto fijo
(e) es el exponente o característica y es un entero de punto fijo
(r) es la base. En los computadores personales se usa base 2.
La mantisa representa la magnitud del número. El exponente es la parte que representa el número de lugares a desplazar el punto decimal o binario.
Sí tenemos un número de punto fijo de la forma:
± (an-1 .... a0 . a-1 ….a-m)r
en forma de punto flotante será de la forma:
± ( . an-1 ....a-m)r x rn , la base generalmente se omite.
Con frecuencia la mantisa m se escribe con magnitud y signo de la siguiente forma, y en forma de fracción
M = (sm . an-1 … a-m)
donde, sm indica el signo (1 para una cantidad negativa y 0 para una cantidad positiva) y . an-1 … a-m representa la magnitud.
Un número de punto flotante está normalizado si el exponente se ajusta de modo que la mantisa tenga un valor distinto de cero en la posición más significativa.
Ejemplo:
El número +1010.0111 en representación normalizada en punto flotante da como resultado: (0.10100111) x 24
El estándar ANSI/IEEE 754-1985 define tres formatos para los números de punto flotante: Precisión sencilla: Utiliza 32 bits. Doble precisión: Utiliza 64 bits Precisión ampliada: Utiliza 80 bits.
Ejemplo
Un formato a 32 bits es el siguiente,
El exponente desplazado se obtiene adicionando 127 al exponente real y convirtiéndolo al binario correspondiente.
Pasos para convertir un punto flotante a binario
1. Convierta la parte entera a binario.
2. Convierta la parte la fracción a binario.
3. Ponga un punto decimal entre las dos partes.
Representar el numero 103.86 en binario

0.86 -> 1.72 -> 1.44 -> 0.88 -> 1.76 –> 1.52 -> 1.04

1.103 = 1 1 0 0 1 1 1
0.86 = 1 1 0 1 1 1

103.86 = 1 1 0 0 1 1 1, 1 1 0 1 1 1

No hay comentarios: