You are on page 1of 8

Universidad Nacional Mayor de San Marcos Facultad de Ingeniera Electrnica

LABORATORIO DE SISTEMAS DE COMUNICACIN DIGITAL I Informe Final N1 Formato de precisin en MATLAB

Profesor: Milton Ros Julcapoma ALUMNO: Robles Martinez Tim CODIGO: 09190047

2012

02 DE MAYO

Robles Martinez Tim

CODIGO: 09190047

FORMATO DE PRECISIN EN MATLAB


I. FUNDAMENTO:
IEEE 754 especifica cuatro formatos para la representacin de valores en coma flotante: precisin simple (32 bits), precisin doble (64 bits), precisin simple extendida ( 43 bits, no usada normalmente) y precisin doble extendida ( 79 bits, usualmente implementada con 80 bits). Slo los valores de 32 bits son requeridos por el estndar, los otros son opcionales. Muchos lenguajes especifican qu formatos y aritmtica de la IEEE implementan, a pesar de que a veces son opcionales. Por ejemplo, el lenguaje de programacin C, ahora permite pero no requiere la aritmtica de la IEEE (el tipo de C float es tpicamente usado para la precisin simple de la IEEE y el tipo double usa la precisin doble del la IEEE). Precisin simple 32-bits Un nmero en coma flotante de precisin simple se almacena en una palabra de 32 bits. 1 8 23 <-- tamao en bits +-+--------+-----------------------+ |S| Exp | Mantisa | +-+--------+-----------------------+ Desplazado +127 Donde S es el bit de signo y Exp es el campo exponente. (Para el signo: 0=Positivo; 1= Negativo). El exponente es desplazado en l un nmero en precisin simple, un exponente en el rango 126 a +127 es desplazado mediante la suma de 127 para obtener un valor en el rango 1 a 254 (0 y 255 tienen valores especiales descritos ms adelante). Cuando se interpreta el valor en coma flotante, el nmero es desplazado de nuevo para obtener el exponente real. El conjunto de valores posibles pueden ser divididos en los siguientes: ceros nmeros normalizados nmeros desnormalizados infinitos NaN (E, no es un nmero, como por ejemplo, la raz cuadrada de un nmero negativo) Las clases se distinguen principalmente por el valor del campo Exp, siendo modificada sta por el campo fraccin. Considera Exp y Fraccin como campos de nmeros binarios sin signo (Exp se encuentra en el rango 0255):
Clase Exp Fraccin Ceros 0 0 Nmeros desnormalizados 0 distinto de 0 Nmeros normalizados 1-254 cualquiera Infinitos 255 0 NaN (Not a Number) 255 distinto de 0

Para nmeros normalizados, los ms comunes, Exp es el exponente desplazado y Fraccin es la parte fraccional del significante (o significando). El nmero tiene valor v: v = s 2e m

LABORATORIO DE SISTEMAS DE CONTROL I

Robles Martinez Tim

CODIGO: 09190047

Donde: s = +1 (nmeros positivos) cuando S es 0 s = 1 (nmeros negativos) cuando S es 1 e = Exp 127 (en otras palabras, al exponente se le suma 127 y se almacena, a esto tambin se le llama "biased with 127" en ingls) m = 1, Fraccin en binario (esto es, el significando es el nmero binario 1 seguido por la coma decimal seguido por los bits de Fraccin). Por lo tanto, 1 m < 2. Notas: 1. Los nmeros desnormalizados son iguales excepto que e = 126 y m = 0, Fraccin. (e NO es -127: el significando ha de ser desplazado a la derecha por un bit ms, de forma que incluya el bit principal, que no siempre es 1 en este caso. Esto se balancea incrementando el exponente a -126 para el clculo.) 2. 126 es el menor exponente para un nmero desnormalizado 3. Hay dos ceros. +0 (S es 0) y 0 (S es 1) 4. Hay dos infinitos + (S es 0) y (S es 1) 5. Los NaN s pueden tener un signo y un significando, pero estos no tienen otro significado que el que puedan aportar en pruebas de diagnstico; el primer bit del significando es a menudo utilizado para distinguir NaN s sealizados deNaN s silenciosos 6. Los NaNs y los infinitos tienen todos los bits a 1 en el campo Exp.

II. PREGUNTAS:
1. Obtener el valor ms pequeo y el ms grande que se puede representar en una PC corriendo MATLAB para precisin de 32 y 64 bits. Para averiguar ello usaremos el formato de precisin de 32 y 64 bits y comprobaremos usando los comandos en Matlab: Para el caso mximo positivo: ( ) [ [ ] ] [ ]

El mximo valor que toma n es 127 ya que se le da otro uso al 128. Entonces el equivalente sera: ( ) ( EN MATLAB: >> realmax('single') ans = 3.4028e+038 )

LABORATORIO DE SISTEMAS DE CONTROL I

Robles Martinez Tim

CODIGO: 09190047

Y en el caso mnimo positivo: [ [ ] ] [ ]

El mnimo valor que toma n es -126 ya que se le da otro uso al -127. Entonces el equivalente sera: ( ) ( ) EN MATLAB: >> realmin('single') ans = 1.1755e-038 De forma similar para el mximo negativo y mnimo negativo que sera con el bit s en 1: [ [ ] ] [ ]

[ [ ]

] [

De forma similar para 64 bits tenemos: Para el caso mximo positivo: ( ) [ [ ] ] [ ]

El mximo valor que toma n es 1023 ya que se le da otro uso al 1024. Entonces el equivalente sera: ( ) ( EN MATLAB: >> realmax('double') ans = 1.7977e+308 )

LABORATORIO DE SISTEMAS DE CONTROL I

Robles Martinez Tim

CODIGO: 09190047

Y en el caso mnimo positivo: [ [ ] ] [ ]

El mnimo valor que toma n es -1022 ya que se le da otro uso al -1023. Entonces el equivalente sera: ( ) ( ) EN MATLAB: >> realmin('double') ans = 2.2251e-308 De forma similar para el mximo negativo y mnimo negativo que sera con el bit s en 1: [ [ ] ] [ ]

[ [ ]

] [

2. Elaborar el esquema de bits con 4 y 6 decimales para 32 y 64 bits de: a. psilon - El valor de psilon con 4 decimales es de: 2.7182 Entonces lo pasamos a la forma: ( ) ( ) ( Por divisiones sucesivas tenemos: Por multiplicaciones sucesivas tenemos: ( Sumando: ( ) ( Dando la forma tenemos: ( ) [ [ ] ] [

) )

LABORATORIO DE SISTEMAS DE CONTROL I

Robles Martinez Tim

CODIGO: 09190047

- El valor de psilon con 6 decimales es de: 2.718281 Entonces lo pasamos a la forma: ( ) ( ) ( Por divisiones sucesivas tenemos: Por multiplicaciones sucesivas tenemos: ( Sumando: ( ) ( Dando la forma tenemos: ( ) [ [ ] ] [

) )

Para 64 bits es similar: - El valor de psilon con 4 decimales es de: 2.7182 Entonces lo pasamos a la forma: ( ) ( ) ( Por divisiones sucesivas tenemos: Por multiplicaciones sucesivas tenemos:
(

) ( )

Sumando:
( ( [ ][ ) ) ][ ]

Dando la forma tenemos:

- El valor de psilon con 6 decimales es de: 2.718281 Entonces lo pasamos a la forma: ( ) ( ) ( Por divisiones sucesivas tenemos: Por multiplicaciones sucesivas tenemos:
(

) ( )

Sumando:
( ( ) )

Dando la forma tenemos:

LABORATORIO DE SISTEMAS DE CONTROL I

Robles Martinez Tim


[ [ ] ] [

CODIGO: 09190047

b. - El valor de con 4 decimales es de: 1.4142 Entonces lo pasamos a la forma: ( ) ( ) ( Sabemos que: Por multiplicaciones sucesivas tenemos: ( Sumando: ( ) ( Dando la forma tenemos: ( ) [ ][ ][

) )

- El valor de con 6 decimales es de: 1.414213 Entonces lo pasamos a la forma: ( ) ( ) ( Sabemos que: Por multiplicaciones sucesivas tenemos: ( Sumando: ( ) ( Dando la forma tenemos: ( ) [ [ ] Para 64 bits es similar: - El valor de con 4 decimales es de: 1.4142 Entonces lo pasamos a la forma: ( ) ( ) ( Sabemos que: Por multiplicaciones sucesivas tenemos: ] [

) )

LABORATORIO DE SISTEMAS DE CONTROL I

Robles Martinez Tim


(

CODIGO: 09190047
) ( )

Sumando:
( ( [ [ ] ) ) ] [ ]

Dando la forma tenemos:

- El valor de con 6 decimales es de: 1.414213 Entonces lo pasamos a la forma: ( ) ( ) ( Sabemos que: Por multiplicaciones sucesivas tenemos:
(

) ( )

Sumando:
( ( [ [ ] ) ) ] [ ]

Dando la forma tenemos:

III. OBSERVACIONES:
- Si ingresamos valores superiores a los mximos e inferiores a los mnimos mencionados, tendremos un resultado inf o 0. - Lo comn mente usado es el formato de 32 bits ya que no se requiere de muchos caracteres en el uso cotidiano.

IV. CONCLUSIONES
- Los formatos de precisin es la nica forma de almacenar datos en una computadora. - Es necesario entender su funcionamiento para conocer sus limitaciones.

LABORATORIO DE SISTEMAS DE CONTROL I

You might also like