Estoy tratando de convertir un número que obtengo de un teclado al estándar IEEE-753 usando VHDL o una implementación lógica, no quiero una respuesta completa, solo una guía sobre cómo debería fomentar esto.
Leí un teclado y almacené en la memoria cada dígito de la parte entera y la parte decimal, y el usuario también tiene la opción de ingresar el exponente que también se guarda en otra posición de memoria.
Leí en este sitio web sobre cómo convertir un número decimal al estándar IEEE. Supongamos ahora que tengo un número representado en notación científica, por ejemplo:
22.523 x 10 ^ 20
Leí este número en BCD de mi memoria, así que necesito convertirlo a binario para procesarlo, mi idea es:
- Convierta toda la parte a binario.
- Tomar la parte entera binaria y multiplicarla por 10 veces indicada por el exponente en este caso, 22 x 10 ^ 20.
- Convierta la parte decimal a binario.
- Tomar parte decimal binaria y multiplicar por 10 veces indicada por el [exponente] - [número de dígitos decimales] en este caso, 523 x 10 ^ 17.
- Agrega los dos números binarios.
Ahora tengo mi número en binario y puedo aplicar el método indicado en el sitio web.
Para representar este número necesitaré dos registros, uno para cada parte del número que necesitará el primero: log2(22 x 10^20)
bits que es de 71 bits y la segunda parte necesitará log2(523 x 10^17)
bits que es de 66 bits, así que necesitará 71 + 66 = 137 bits para almacenar el resultado y luego convertirlo a IEEE-753.
¿Esto es normal? ¿Hay alguna otra manera de hacerlo? ¿O se logra de esta manera?