Números de punto flotante

Anuncio
Números de punto
flotante
M. en C. Erika Vilches
Parte 1
Sistema de números de
punto flotante
• Basado en la notación científica
• Capaz de representar números muy grandes
y muy pequeños sin incrementar el número
de bits
• Capaz de representar números con
componentes enteros y fraccionarios.
• Número de punto flotante = número real
Número de punto
flotante
• Consta de dos partes y un signo
1. Mantisa: La magnitud del número
2. Exponente: El número de lugares que se va
a mover el punto
3. Signo: Positivo o negativo
Ejemplo decimal
• Número decimal 241,506,800
• Mantisa = .2415068
• Exponente = 9
0.2415068 x 10 ^ 9
• Para los números de punto flotante binarios
el formato se define por el standard ANSI/
IEEE 754-1985 de tres formas:
• Precisión sencilla - 32 bits
• Precisión doble - 64 bits
• Precisión extendida - 80 bits
• Se trabaja con números normalizados.
Decimos que un número binario está
normalizado si el dígito a la izquierda del
punto es igual a 1
Precisión Sencilla
•
En la mantisa se entiende que el punto binario está a la izquierda
de los 23 bits. De hecho hay 24 bits porque en cualquier
número binario el bit mas significativo siempre es 1. Por lo tanto
se entiende que esta ahí aunque no ocupe una posición.
•
Los 8 bits de exponente representan un exponente en exceso,
que se obtiene añadiendo 127 al exponente real. El propósito es
permitir números muy grandes o muy pequeños sin requerir un
bit de signo aparte para el exponente. Esto permite un rango de
exponentes de -126 a +128
Ejemplo
Representar 1011010010001
1011010010001 = 1.011010010001 x 2^12
Asumiendo que es un número positivo:
Bit de signo = 0
Exponente: 12 + 127 = 139 = 10001011
Mantisa: Parte fraccionaria .011010010001 a
23 bits (el 1 a la izq. del punto se omite
porque siempre está presente)
Punto flotante a decimal
Utilizar la fórmula →
para obtener el valor en binario verdadero
Ejemplo:
El bit de signo es 1. El exponente en exceso es
10010001 = 145. Aplicando la fórmula obtenemos:
→ - 407,680
• Un número de punto flotante de 32 bits
puede reemplazar a un entero binario de
129 bits
• Excepciones:
1. El número 0.0 se representa con todos 0’s
2. El infinito se representa con todos 1’s en
el exponente y todos 0’s en la mantisa.
Ejemplo
Convertir el número decimal 3.248 x 10 ^ 4 a un
número binario de punto flotante precisión sencilla.
Convertir de decimal a binario
3.248 x 10 ^ 4 = 32480 = 111111011100000 =
1.11111011100000 x 2 ^ 14
Mantisa (23 bits) = 11111011100000000000000
Exponente en exceso = 14 + 127 = 141 =
10001101
Resultado →
Ejercicio
• Determine el valor binario y decimal del
siguiente número binario en punto flotante:
0 10011000 10000100010100110000000
• Mencione las partes de un número binario
en punto flotante
• ¿Cuántos bits tiene en total un número
binario en punto flotante de precisión
sencilla, doble y extendida?
Descargar