IEEE-754 a Decimal

Pasos a Seguir

  1. Separar el número en IEEE-754 en sus diferentes partes (signo, exponente y mantisa)
    1. Bit de signo (1 Bit)
      1. El primer bit (más significativo) del número en IEEE-754 corresponde al signo del número
        • 0 → Positivo
        • 1 → Negativo
        (1)bit(-1)·\bold{bit}
    2. Exponente (8 Bits)
      1. Los siguientes 8 bits corresponden al exponente (base 2) en exceso a 127
      2. Decodificar el valor representado por los bits del exponente en decimal
      3. Restar 127 al valor del exponente
      4. Ese resultado es el exponente de 2 → 2result2^{\text{result}}
      5. 2exp1272^{\bold{exp}-127}
    3. Mantissa (23 Bits)
      1. El resto de bits (menos significativos) corresponden a la parte decimal del número cuya parte entera es un 1 debido al bit implícito
      2. Transformamos la mantissa a decimal
      3. 1.mantissa101.\bold{mantissa}_{10}
       
  1. Calculamos el resultado a través de la siguiente fórmula
    1. (1)bit×1.mantissa×2exp127(-1)·\bold{bit} \times 1.\bold{mantissa} \times 2^{\bold{exp}-127}

Ejemplo 1 (positivo) - 0x4d8f0d18IEE754_{IEE-754}

💡
Procedimiento
Primero vamos a aplicar la conversión de hexadecimal a binario
  • 0x4d8f0d180100 1101 1000 1111 0000 1101 0001 1000
  1. Separamos el número en IEE-754 en sus respectivas partes
    1. Signo (1 bit)
      1. El primer bit (bit más significativo) es 0 por lo que el número es positivo
    2. Exponente (8 bits)
      1. Los bits del exponente son 100 1101 1
      2. Lo cual equivale en decimal a 155155 que tras restarle 127 nos queda 155127=28155 - 127 = 28
      3. Por lo que el exponente será → 2282^{28}
    3. Mantissa (23 bits)
      1. Los bits de la mantissa son el resto 000 1111 0000 1101 0001 1000
      2. La mantissa con el bit implícito queda → 1.0001111000011010001100021.000 1111 0000 1101 0001 1000_{2}
      3. Pasamos la mantissa a base 10 → 1+24+25+26+27+211+212+218+219=1.11792564391 + 2^{-4} + 2^{-5} + 2^{-6} + 2^{-7} + 2^{-11} + 2^{-12} + 2^{-18} + 2^{-19} = 1.1179256439
      4. Por lo que la mantissa queda → 1.11792564391.1179256439
  1. Aplicamos la fórmula con todas las partes calculadas
(1)0×1.1179256439×228(-1)·0 \times 1.1179256439 \times 2^{28}
Solución decimal:
La solución quedaría 300090880300090880 o también 3×1083\times10^8