Para escribir un número real en precisión simple se usan 32 bits (4 bytes): 1 bit para el signo (s) del número (positivo o negativo), 23 bits para la mantisa (m) y 8 bits para el exponente (exp).
El exponente se suele representar en Exceso a $2^{n-1}-1$, mientras que, para la mantisa, normalmente se utiliza Signo Magnitud. Además, la mantisa se suele normalizar colocando la coma decimal a la derecha del bit más significativo.
Por ejemplo, si queremos escribir el número:
$101110,010101110100001111100001111100010011_2$
en el estándar IEEE 754 con precisión simple, exponente en Exceso a $2^{n-1}-1$ y mantisa en Signo Magnitud, primero hay que normalizarlo colocando la coma a la derecha del bit mas significativo:
$1,01110010101110100001111100001111100010011_2 \times 2^5$
El exponente, en Exceso a $2^{n-1} -1$, será:
$510 + (2^{8-1} - 1)_{10} = 510 + (2^7 - 1)_{10} = 510 + (128 - 1)_{10} = 10000100_2$
De la mantisa se cogen los bits 23 bits más significativos, se trunca:
$1,0111001010111000000111_2$
El resto de bits no se pueden representar, porque no caben en la mantisa. Sin embargo, cuando la mantisa se normaliza situando la coma decimal a la derecha del bit más significativo, dicho bit siempre vale 1. Por tanto, se puede prescindir de él, y coger en su lugar un bit más de la mantisa. De esta forma, la precisión del número representado es mayor. Así, los bits de la mantisa serán:
$01110010101110100001111_2$
Al bit omitido se le llama bit implícito. Por otra parte, el bit de signo vale 0, ya que, el número es positivo. En consecuencia, el número se puede representar como:
Si se quiere escribir el número 19,562510 en el estándar IEEE 754 con precisión doble, exponente en Exceso a $2^{n-1}-1$ y mantisa en Signo Magnitud con bit implícito, los pasos a seguir son:
1º) Cambiar 19,562510 a base 2. Parte entera y fraccionaria:
$19,5625_{10} = 10011,1001_2$
2º) Normalizar el número binario obtenido, colocando la coma decimal a la derecha del bit más significativo:
$10011,1001_2 = 1,00111001 \times 2^4$
3º) Escribir el exponente en Exceso a $2^{n-1}-1$:
$4_{10} + (2^{11-1} - 1)_{10} = 4_{10} + (2^{10} - 1)_{10} = 4_{10} + (1024 - 1)_{10} $
Por ejemplo, si queremos escribir el número:
$101110,010101110100001111100001111100010011_2$
en el estándar IEEE 754 con precisión simple, exponente en Exceso a $2^{n-1}-1$ y mantisa en Signo Magnitud, primero hay que normalizarlo colocando la coma a la derecha del bit mas significativo:
$1,01110010101110100001111100001111100010011_2 \times 2^5$
El exponente, en Exceso a $2^{n-1} -1$, será:
$510 + (2^{8-1} - 1)_{10} = 510 + (2^7 - 1)_{10} = 510 + (128 - 1)_{10} = 10000100_2$
De la mantisa se cogen los bits 23 bits más significativos, se trunca:
$1,0111001010111000000111_2$
El resto de bits no se pueden representar, porque no caben en la mantisa. Sin embargo, cuando la mantisa se normaliza situando la coma decimal a la derecha del bit más significativo, dicho bit siempre vale 1. Por tanto, se puede prescindir de él, y coger en su lugar un bit más de la mantisa. De esta forma, la precisión del número representado es mayor. Así, los bits de la mantisa serán:
$01110010101110100001111_2$
Al bit omitido se le llama bit implícito. Por otra parte, el bit de signo vale 0, ya que, el número es positivo. En consecuencia, el número se puede representar como:
0 10000100 01110010101110100001111
s exp mantisa
En precisión doble, al escribir un número real se emplean 64 bits (8 bytes): 1 bit para el signo (s) del número, 52 bits para la mantisa (m) y 11 bits para el exponente (exp).
Si se quiere escribir el número 19,562510 en el estándar IEEE 754 con precisión doble, exponente en Exceso a $2^{n-1}-1$ y mantisa en Signo Magnitud con bit implícito, los pasos a seguir son:
1º) Cambiar 19,562510 a base 2. Parte entera y fraccionaria:
$19,5625_{10} = 10011,1001_2$
2º) Normalizar el número binario obtenido, colocando la coma decimal a la derecha del bit más significativo:
$10011,1001_2 = 1,00111001 \times 2^4$
3º) Escribir el exponente en Exceso a $2^{n-1}-1$:
$4_{10} + (2^{11-1} - 1)_{10} = 4_{10} + (2^{10} - 1)_{10} = 4_{10} + (1024 - 1)_{10} $
$= 4_{10} + 1023_{10} = 1027_{10} = 10000000011$
4º) Establecer la mantisa utilizando bit implícito. Para ello, se cogen los ocho bits que están a la derecha de la coma (00111001) y el resto de la mantisa se rellena con ceros:
$0011100100000000000000000000000000000000000000000000$
5º) Expresar el número en el estándar IEEE 754 con precisión doble. En este caso, hay que tener en cuenta que el bit de signo vale 0, ya que, el número es positivo:
4º) Establecer la mantisa utilizando bit implícito. Para ello, se cogen los ocho bits que están a la derecha de la coma (00111001) y el resto de la mantisa se rellena con ceros:
$0011100100000000000000000000000000000000000000000000$
5º) Expresar el número en el estándar IEEE 754 con precisión doble. En este caso, hay que tener en cuenta que el bit de signo vale 0, ya que, el número es positivo:
0 10000000011 0011100100000000000000000000000000000000000000000000
+3 en segundas
ResponderEliminarBuena explicación.
ResponderEliminararregla por favor el primer ejemplo que por decir 5 en base decimal aparece como 510.