Fgfd

Solo disponible en BuenasTareas
  • Páginas : 6 (1429 palabras )
  • Descarga(s) : 0
  • Publicado : 24 de noviembre de 2010
Leer documento completo
Vista previa del texto
El estándar IEEE 754 ha sido definido por el Instituto de Ingenieros Eléctricos y Electrónicos (Institute of Electrical and Electronics Engineers, IEEE) y establece dos formatos básicos para representar a los números reales en la computadora digital: precisión simple y precisión doble.
Precisión simple

En precisión simple, para escribir un número real se usan 32 bits (4 bytes): 1 bit para elsigno (s) del número, 23 bits para la mantisa (m) y 8 bits para el exponente (exp), que se distribuyen de la siguiente forma:
[pic]

Figura. Representación de un número real con precisión simple en el estándar 754.

El exponente se suele representar en Exceso a 2n-1-1, mientras que, para la mantisa, normalmente se utiliza Signo Magnitud. Además, la mantisa se suele normalizar colocando lacoma decimal a la derecha del bit más significativo.

Ejemplo 1: Para escribir el número 101110,0101011101000011111000011111000100112 en el estándar IEEE 754 con precisión simple, exponente en Exceso a 2n-1-1 y mantisa en Signo Magnitud, primero hay que normalizarlo:
1,011100101011101000011111000011111000100112 x 25

El exponente, en Exceso a 2n-1-1, será:
510 + (28-1 - 1)10 = 510 + (27 - 1)10= 510 + (128 - 1)10 = 13210 = 10000100EX. a 127

De la mantisa se cogen los bits 23 bits más significativos:
1,0111001010111000000111

El resto de bits no se pueden representar, ya que, 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 ensu 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

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:
[pic]

Los programadores, para representar a los números reales en esteformato, suelen utilizar el Sistema Hexadecimal.
[pic]
Así pues,
[pic]

En este caso, los números no son exactamente iguales, ya que, con precisión simple no se han podido representar todos los bits de la mantisa.

Ejemplo 2: Dado el número 3E400000CFL del estándar IEEE 754 con precisión simple, exponente en Exceso a 2n-1-1 y mantisa en Signo Magnitud con bit implícito, para averiguar aqué número representa en base 10, se pueden realizar los siguientes pasos:

1º) Convertir 3E40000016 a base 2:
[pic]

2º) Obtener los bits del signo, de la mantisa y del exponente:
[pic]

3º) Pasar el exponente a base 10:
011111002 - (28-1 - 1)10 = 12410 - (27 - 1)10 = 12410 - (128 - 1)10 = 12410 - 12710 = -3

4º) Escribir el número en notación científica. Para ello, la mantisa se debeescribir con el bit implícito (1), seguido de la coma decimal (,) y de los bits de la mantisa (10000000000000000000000), teniendo en cuenta que los ceros por la derecha se pueden despreciar. Por otra parte, el número es positivo, ya que, el bit de signo es 0. Por tanto, el número es:
1,1 x 2-3

5º) Expresar el número en base 10. Para ello, hay dos formas de hacerlo, la primera es:
1,1 x 2-3 =0,00112 = ( 2-3 + 2-4 )10 =  0,12510 + 0,062510 = 0,187510

y la segunda:
1,1 x 2-3 = ( ( 20 + 2-1) x 2-3 )10 = ( ( 1 + 0,5) x 0,125 )10 = ( 1,5 x 0,125 )10  = 0,187510

Por tanto,
3E400000CFL (PRECISIÓN SIMPLE) = 1,1 x 2-3 = 0,00112 = 0,187510
Precisión doble

Por otro lado, en precisión doble, para escribir un número real se emplean 64 bits (8 bytes): 1 bit para el signo (s) del número, 52bits para la mantisa (m) y 11 bits para el exponente (exp).

[pic]

Figura. Representación de un número real con precisión doble en el estándar 754.

Ejemplo 3: Si se quiere escribir el número 19,562510 en el estándar IEEE 754 con precisión doble, exponente en Exceso a 2n-1-1 y mantisa en Signo Magnitud con bit implícito, los pasos a seguir son:

1º) Cambiar 19,562510 a base 2. Primero...
tracking img