1. Para convertir el punto flotante en decimal, tenemos 3 elementos en una representación de punto flotante de 32 bits:
i) Signo
ii) Exponente
iii) Mantisa
- El bit de signo es el primer bit de la representación binaria. ‘1’ implica número negativo y ‘0’ implica número positivo.
Ejemplo: 11000001110100000000000000000000 Este es un número negativo. - El exponente se decide por los siguientes 8 bits de representación binaria. 127 es el número único para la representación de punto flotante de 32 bits. Se conoce como sesgo. Está determinado por 2 k-1 -1 donde ‘k’ es el número de bits en el campo del exponente.
Hay 3 bits de exponente en representación de 8 bits y 8 bits de exponente en representación de 32 bits.
De este modo
bias = 3 para conversión de 8 bits (2 3-1 -1 = 4-1 = 3)
bias = 127 para conversión de 32 bits. (2 8-1 -1 = 128-1 = 127)Ejemplo: 01000001110100000000000000000000
10000011 = (131) 10
131-127 = 4Por lo tanto, el exponente de 2 será 4, es decir, 2 4 = 16.
- Mantissa se calcula a partir de los 23 bits restantes de la representación binaria. Consta de ‘1’ y una parte fraccionaria que viene determinada por:
Ejemplo:
010000011101000000000000000000000
La parte fraccionaria de la mantisa viene dada por:
1*(1/2) + 0*(1/4) + 1*(1/8) + 0*(1/16) +……… = 0,625
Así la mantisa será 1 + 0.625 = 1.625
Por lo tanto, el número decimal es: Signo*Exponente*Mantisa = (-1) 0 *(16)*(1,625) = 26
2. Para convertir el decimal en coma flotante, tenemos 3 elementos en una representación de coma flotante de 32 bits:
i) Signo (MSB)
ii) Exponente (8 bits después de MSB)
iii) Mantisa (23 bits restantes)
- El bit de signo es el primer bit de la representación binaria. ‘1’ implica número negativo y ‘0’ implica número positivo.
Ejemplo: Para convertir -17 en una representación de punto flotante de 32 bits Bit de signo = 1 - El exponente se decide por el número menor o igual a 2 n más cercano . Para 17, 16 es el 2 n más cercano . Por lo tanto, el exponente de 2 será 4 ya que 2 4 = 16. 127 es el número único para la representación de punto flotante de 32 bits. Se conoce como sesgo. Está determinado por 2 k-1 -1 donde ‘k’ es el número de bits en el campo del exponente.
Por lo tanto, sesgo = 127 para 32 bits. (2 8-1 -1 = 128-1 = 127)
Ahora, 127 + 4 = 131, es decir, 10000011 en representación binaria.
- Mantisa: 17 en binario = 10001.
Mueva el punto binario para que solo haya un bit desde la izquierda. Ajusta el exponente de 2 para que el valor no cambie. Esto es normalizar el número. 1.0001×2 4 . Ahora, considere la parte fraccionaria y represente como 23 bits agregando ceros.
00010000000000000000000
Enlace relacionado:
https://www.youtube.com/watch?v=03fhijH6e2w
Más preguntas sobre la representación de números:
https://www.geeksforgeeks.org/number-representation-gq/
Este artículo es una contribución de Kriti Kushwaha
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA