Datos, Operadores y Expresiones
6. Punto Flotante
Comercialmente existen, dispositivos digitales (como ser procesadores digitales de señal, etc.) que trabajan con operaciones aritméticas utilizando números binarios representados en coma o punto flotante. En esta representación, el punto o coma decimal no se halla en una posición fija dentro de una secuencia de N bits, sino que se indica como una potencia de la base. El beneficio que esto trae es un aumento en el rango de números que podrán expresarse mediante una palabra con una cantidad determinada de bits. La representación en punto flotante está basada en la denominada “notación científica”.
Ejemplo:
- 4520000000000 = 4,52. 1012 = 452. 10 10
- 0,00000000000452 = 4,52. 10 – 12
N = S M (b)E (1)
- N = Número representado
- S = Signo del número
- M = Mantisa (valor absoluto)
- b = Base del sistema de numeración utilizado (10 = Sist. Decimal; 2 = Sist. Binario) y
- E = Exponente.
- signo con la mantisa ( S(2) y M(3))
- otra al exponente. E(5)
La base no necesita representarse ya que está implícita (al trabajar con el sistema binario, se supone que la b=2(4) ). La mantisa y el exponente son números sin signo.
Como se ha visto en el ejemplo anterior, la coma o punto decimal puede ocupar cualquier lugar, pudiéndose representar un mismo número de distintas formas.
Ejemplo:
Paso 1: Convertir la parte entera a binario
Primero, convertimos la parte entera del número, que es 6, a binario.
Dividimos sucesivamente entre 2 y tomamos los restos:
→ resto 0
→ resto 1
→ resto 1
Leemos los restos de abajo hacia arriba: 110.
Entonces,
.Paso 2: Convertir la parte fraccionaria a binario
Ahora, convertimos la parte fraccionaria, que es 0.25, a binario.
Multiplicamos sucesivamente por 2 y tomamos la parte entera:
→ parte entera 0
→ parte entera 1
Leemos las partes enteras de arriba hacia abajo: 01.
Entonces,
.Paso 3: Combinar parte entera y fraccionaria
Combinamos la parte entera y la fraccionaria en binario:
Paso 4: Normalizar el número binario
Para representar el número en punto flotante, lo normalizamos en la forma
.Movemos el punto decimal para que quede un solo dígito antes del punto:
Aquí:
Mantisa:
(los dígitos después del punto).Exponente:
(porque movimos el punto dos lugares a la izquierda).
Paso 5: Aplicar el estándar IEEE 754
El estándar IEEE 754 define cómo representar números en punto flotante. Para un número de 32 bits (precisión simple):
Bit de signo: 1 bit (0 para positivo, 1 para negativo).
Exponente: 8 bits (se usa un sesgo de 127).
Mantisa: 23 bits.
5.1. Bit de signo
Como 6.25 es positivo, el bit de signo es:
5.2. Exponente
El exponente en la normalización es 2. Para convertirlo al formato IEEE 754, le sumamos el sesgo de 127:
Ahora, convertimos 129 a binario:
5.3. Mantisa
La mantisa es 1001. En IEEE 754, se usan 23 bits para la mantisa, por lo que completamos con ceros a la derecha:
Paso 6: Combinar todo
Finalmente, combinamos el bit de signo, el exponente y la mantisa:
La representación completa en 32 bits es:
Resumen
El número 6.25 en decimal se representa en binario de punto flotante (precisión simple) como:
-
Bit de signo:
0
-
Exponente:
10000001
-
Mantisa:
10010000000000000000000