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
En la representación a través de notación científica existen cuatro campos o componentes: Signo (S), Mantisa (M), Base (b) y Exponente (E). Por lo tanto, cualquier número puede representarse como:
 

N = S M (b)E    (1)

  1. N = Número representado
  2. S = Signo del número 
  3. M = Mantisa (valor absoluto)
  4. b = Base del sistema de numeración utilizado (10 = Sist. Decimal; 2 = Sist. Binario) y
  5. E = Exponente.
Los dispositivos digitales almacenan un número N(1) en formato de punto flotante en dos partes:

  1. signo con la mantisa  ( S(2) y M(3))
  2. 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:

Representemos 6.25 10 en formato binario flotante.


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:

    • 6÷2=3 → resto 0

    • 3÷2=1 → resto 1

    • 1÷2=0 → resto 1

  • Leemos los restos de abajo hacia arriba: 110.

Entonces, 610=1102.


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:

    • 0.25×2=0.5 → parte entera 0

    • 0.5×2=1.0 → parte entera 1

  • Leemos las partes enteras de arriba hacia abajo: 01.

Entonces, 0.2510=0.012.


Paso 3: Combinar parte entera y fraccionaria

Combinamos la parte entera y la fraccionaria en binario:

6.2510=110.012

Paso 4: Normalizar el número binario

Para representar el número en punto flotante, lo normalizamos en la forma 1.mantisa×2exponente.

  • Movemos el punto decimal para que quede un solo dígito antes del punto:

    110.012=1.10012×22
  • Aquí:

    • Mantisa: 1001 (los dígitos después del punto).

    • Exponente: 2 (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):

  1. Bit de signo: 1 bit (0 para positivo, 1 para negativo).

  2. Exponente: 8 bits (se usa un sesgo de 127).

  3. Mantisa: 23 bits.

5.1. Bit de signo

Como 6.25 es positivo, el bit de signo es:

Signo=0
5.2. Exponente

El exponente en la normalización es 2. Para convertirlo al formato IEEE 754, le sumamos el sesgo de 127:

Exponente=2+127=129

Ahora, convertimos 129 a binario:

12910=100000012
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:

Mantisa=10010000000000000000000

Paso 6: Combinar todo

Finalmente, combinamos el bit de signo, el exponente y la mantisa:

Signo=0Exponente=10000001Mantisa=10010000000000000000000

La representación completa en 32 bits es:

01000000110010000000000000000000

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