Punto Flotante
Para el estandar IEEE754 en formato de 16 bits, identificamos tres partes detalladas a continuación, cada una de estas corresponden a :
- Signo: 1 bit que representa el signo
- Exponente: Agrupación de 5 bits que representa el exponente
- Mantisa: Agrupación de 10 bits que representa la mantisa
Dada la expresión 7 * 2⁸, convertir a punto flotante IEE754.
- Identificar el signo 0=positivo, 1=negativo. Cero para este caso
- Convertir 7 decimal a binario: lo que da como resultado 111.
- Para obtener la mantisa, muevo la coma en 111 a la derecha del bit más significativo (MSB), dos lugares en este caso, quedando de la forma siguiente: 1,11. Entonces ubico los bit a la derecha de la coma en la mantisa rellenando con ceros los espacios que queden por ocupar en ésta ( 1100000000).
- Se suma al exponente la cantidad de lugares que se movió la coma (2 lugares), 7 * 2⁸⁺²⁺¹⁵. Siendo el número 15 producto de la expresión (2k-1 -1), donde k es la cantidad de bit del exponente, 5 en este caso.
- Una vez realizada la operación 8+2+15=26 y su conversión a binario 11001, este resultado debe completarse en el espacio correspondiente a el Exponente.
La operación inversa
Sea la representación 0110101110000000 en formato de 16 bits IEEE754, convertir a decimal.
1. Agrupamos los bits de acuerdo a la distribución para 16 bits.
- Signo: 1 bit.
- Exponente: 5 bits.
- Mantisa: 10 bits.
2. Sabemos que se trata de un valor con signo positivo igual a cero.
3.En la mantisa recordando como efectuábamos el movimiento de la coma (1,111 tres lugares en este caso) 1111 binario igual 15 decimal.
4. Para el exponente 11010 (binario) igual 26 (decimal). Entonces igualamos 26=3+x+15. x=8. El valor 15 proviene de 2k-1-1, donde k recordamos es la cantidad de bits del exponente, 5 en este caso. El valor 3 de la cantidad de lugares que supuso mover la coma.
Resultado: 15 * 28
Fuente: https://www.walternores.com/?p=1553
Ver otra informacion: https://anpego.wikifoundry.com/page/punto+flotante