You are on page 1of 22

Algortmica Numrica

Tema 1. Representacin en coma flotante. Errores

Tema 1. Representacin de nmeros en coma flotante.


Errores

Qu es una representacin de nmeros?


Representacin: Capacidad, valores mnimos/mximos, errores cometidos
y nmero de cifras significativas
Ejemplos numericos. Graficas
Representacin cientfica o en coma flotante. Estandar
Estandar IEEE 754: simple precisin
Estandar IEEE 754 : sistema normalizado/denormalizado
Estandar IEEE 754: doble precisin
Estandar IEEE 754 : aritmtica coma flotante
Ejemplos numricos. Grficas

2
Tema 1: Representacin en coma flotante
Que es una representacin de nmeros?
Para resolver los problemas en ciencias, ingenieras, necesitamos
calcular la solucin numrica

Objetivo: Representar los nmeros reales en el ordenador.

Cuestiones previas:
Los nmeros reales son infinitos.
El ordenador es finito, capaz de manejar una cantidad finita de nmeros y realizar
un nmero finito de operaciones.
Como consecuencia:
No podemos representar todos los nmeros reales: consideramos un grupo de
nmeros, y los llamamos nmeros mquina. Representacin de nmeros.
Con el resto de los nmeros reales, los aproximamos por el nmero mquina mas
prximo. Permitimos/manejamos/medimos errores de redondeo.
Dado un cantidad finita de nmeros (nmeros mquina) tenemos:
Valor mnimo/mximo, cantidad de nmeros, dado un nmero existe el
siguiente, distancia entre dos nmeros consecutivos,
Los almacenamos en la memoria del ordenador. Podemos operar con ellos.
3

Tema 1: Representacin en coma flotante

Representacin de nmeros mquina: Capacidad, valores


mnimos/mximos, errores cometidos, operaciones
aritmticas

El tamao de la representacin (nmero de posiciones de memoria utilizada en


la representacin de cada nmero mquina) determina la capacidad de
representacin (valor mximo/mnimo representado, distancia entre dos
nmeros mquina, errores cometidos, etc.).

Ejercicio:
Sean dos representaciones de nmeros mquina. RNM1 es la ms grande
(tiene mas cantidad de nmeros) y RNM2 es la ms pequea.
Cual de las dos representacones ocupa mas espacio en memoria?
Con que representacin obtendremos errores mas pequeos?
Que preferimos: representaciones que ocupen mucha/poca memoria?,
representaciones con errores muy grandes/pequeos?,
4
Tema 1: Representacin en coma flotante

Representacin de nmeros mquina: Representacin grfica


de la recta real

Representacin de la recta real


x es un nmero real

x es un nmero mquina

- 0 1

-vmax 0 1 vmax

x
5

Tema 1: Representacin en coma flotante

Representacin de nmeros mquina: Capaciad, valores


mximos/mnimos, eps

Rango de valores grandes: valor del mayor /menor nmero representable:


vmax / -vmax
Rango de valores pequeos: valor del nmero positivo ms pequeo: v m in
Por construccin: los nmeros mquinas no son equidistantes.
1. Cada representacin tendr una cierta cantidad de nmeros maquinas en el intervalo
(0, 1).
2. Salto de nmeros mquina: eps (spacing of floating point numbers), distancia entre dos
nmeros mquina consecutivos. Ej.: eps(0), eps(1), eps(1e+10). son iguales eps(0) y
eps(1)? cual es el siguiente nmero al nmero 1?

Representacin de la recta real

- 0 1

-vmax 0 vmin 1 1+eps(1) vmax


Tema 1: Representacin en coma flotante

Representacin de nmeros mquina: Error, cota del error

x = nmero real (desconocido)

x = nmero mquina (conocido)



xx

E = x - x Error (desconocido)
Objetivo: Obtener cota del error E Cota
Finalmente, en lugar de trabajar con el nmero real x (desconocido),

trabajamos con el nmero mquina x (conocido) y con la cota del error (conocida)

Tema 1: Representacin en coma flotante


Representacin de nmeros mquina: Error absoluto y error relativo

Sea x un nmero real, y sea x el nmero mquina ms prximo a x.

Medimos: el error absoluto y el error relativo entre x y x .

El error absoluto de redondeo es: E _ abs = x - x

x- x x- x
El error relativo de redondeo es: E _ rel = o bien E _ rel =
x x
Ejemplo 1:

x=342732890032.134, x = 342732809000.000

E _ abs = x - x 8.110
4


x-x 8.10 10
4
-7
E _ rel = 2.36 10
3.42 10
11
x
Ejemplo 2:

x=0.0000013405, x = 0.0000015040
-7
E _ abs = x - x 1.63 10
-7
x-x 1.6310 -1
E _ rel = -6
1.22 10 8
x 1.34 10
Tema 1: Representacin en coma flotante
Representacin nmeros mquina: Nmero de cifras significativas de precisin


Sea x un nmero real, y sea x el nmero mquina ms prximo a x.
Medimos el nmero de cifras significativas de precisin (nmero de cifras
coincidentes empezando por la izquierda, a partir del primer dgito distinto de cero).


Ej 1: x=342732890032.134, x = 342732809000.000

x y x coinciden en 7 cifras significtivas, e.e., x tiene una precisin de 7 cifras significativas.

x-x -7
E _ rel = 2.36 10 , log10 E _ rel log10 2.36 - 7 log10 10 0.37 - 7, 7 - log10 E _ rel
x

Ej 2: x=0.0000013405, x = 0.0000015040

x y x coinciden en 1 cifra significtiva, e.e., x tiene una precisin de 1 cifra significativa.
-1
E _ rel 1.22 10 , log10 E _ rel log10 1.22 - 1log10 10, 1 - log10 E _ rel
Se verifica la relacin:
E _ rel 10-(nmero cifras significativas) Nmero cifras significativas = - log10 E _ rel
9

Tema 1: Representacin en coma flotante


Ejercicio: Error absoluto, error relativo y nmero de cifras significativas
de precisin

Ejercicio computacional:
Sean x los 7 nmeros reales de la tabla y
x sus nmeros mquina.
Calcular el error absoluto el error relativo y el nmero de cifras
significativas de precisin, de los elementos de la tabla.
Completar la tabla.

N real N mquina E _ abs E _ rel Si x x indicar el n cifras significativas

10-10 0.00000000010000000000
-20
10 0.00000000000000000001
-330
10 0.00000000000000000000
-10
1 + 10 1.00000000010000000000
-20
1 + 10 1.00000000000000000000
-10
(1 + 10 ) -1 0.00000000010000000827

(1 + 10-20 ) -1 0.00000000000000000000
10
Tema 1: Representacin en coma flotante

Operaciones aritmticas: magnitud del error cometido al


operar (sumar, restar, multiplicar, dividir)

Objetivo: Medir la propagacin de los errores al operar (+, -, . , /)


Sean los nmeros reales x, y. Queremos calcular x+y, x.y.
Pasos:

Calculamos: x, y.

Calculamos: x+y, x.y.

Cunto difieren x+y @ x+y, x.y @ x.y?

Calcular las cotas del error relativo x+y @ x+y, x.y @ x.y

Finalmente, obtenemos los valores x+y , x.y y las dos cotas.

11

Tema 1: Representacin en coma flotante


Ejemplos numricos con Matlab (1)

La funcin seno hiperblico (igualdad matemtica):


e x - e- x
sinh( x) = (1)
2
Objetivo:
e x - e- x
Calcular sinh( x), , el error relativo y una cota de la frmula (1),
2
para x muy pequeos (x 0). Calcular el nmero de cifras de precisin para cada x.

Cual de las dos expresiones es mas precisa?.


Cuantas cifras de precisin se obtienen para cada x?.
Como de buena/precisa es la representacin de nmeros de Matlab?

12
Tema 1: Representacin en coma flotante
Ejemplo numrico 1: Grfica de sinh(x)

>> x = 10. - [0 :10]


>> V_exacto=sinh(x);V_aprox=(exp(x)-exp(-x))/2;
>>Erel=abs(V_exacto-V_aprox)./abs(V_exacto);
>> Cota=eps(1)./sinh(x);
>> loglog(x,V_exacto,'b.',x,V_aprox,'r.'),
>> title('Grfica de sinh(x): V-exacto (azul), V-aprox (rojo), respecto de x')
>> loglog(x,Erel,'bo',x,Cota,'ro'),
>> title('Grfica del error relativo del sinh(x)(azul) y su cota (rojo), respecto de x')

13

Tema 1: Representacin en coma flotante


Ejemplo numrico 1:
Grfica del seno hiperblico y su aproximacin, respecto de la variable x

14
Tema 1: Representacin en coma flotante
Ejemplo numrico 1:
Grfica del error relativo de sinh(x) y su cota , respecto de x

15

Tema 1: Representacin en coma flotante


Ejemplo numrico 1: Grfica error relativo de sinh(x) y su cota
E _ rel 10-(nmero cifras significativas) Nmero de cifras significativas = - log10 E _ rel

-log10 E _ rel E _ rel


4 10-4
6 10-6
8 10-8
10 10-10
12 10-12
14 10-14
16 10-16
N cifras
1. Es adecuada la cota obtenida del error relativo?
2. Para x =10-3 cuantas cifras significativas tenemos? Y para x =10-10 ?
3. Cuando x 0 el nmero de cifras aumenta/disminuye? 16
Cuando x 0 la dificultad numrica en el calculo de sinh(x) aumenta/disminuye?
Tema 1: Representacin en coma flotante
Ejemplos numricos con Matlab (2)

f ( x + h) - f ( x )
La definicin de derivada de una funcin f '( x) = lim .
h 0 h
f ( x + h) - f ( x )
Podemos f '( x ) para h muy pequeos (h 0)
h
Aplicada a la funcin f ( x) = sen( x) en el punto x = 1, obtenemos
sin(1 + h) - sin(1)
cos(1) (2)
h
Objetivo:
sin(1 + h) - sin(1)
Calcular cos(1), , el error relativo y una cota de la frmula (2),
h
para h muy pequeos (h 0).
Cuantas cifras de precisin se obtienen para cada h?
Como de buena/precisa es la representacin de nmeros de Matlab?

17

Tema 1: Representacin en coma flotante


Ejemplo numrico 2: Grafica del error relativo (azul) y su cota (rojo)

18
Tema 1: Representacin en coma flotante
Ejemplo 2: Grafica del error relativo y nmero de cifras significativas
E _ rel 10-(nmero cifras significativas) Nmero de cifras significativas = - log10 E _ rel

1. Es adecuada la cota
obtenida del error relativo?
2. Para h =10-3 cuantas
cifras significativas tenemos?
Y para h =10-14?
3. Para que h se obtiene el
mayor n cifras significativas?
cuantas son?
4. Que sucede para
h 10-16?

19

Tema 1: Representacin en coma flotante


Representacin cientfica o coma flotante

Los nmeros mquina x vienen dados por la siguiente expresin

x= mbe
donde:
utilizamos un bit para el signo:
m es la mantisa,
b es la base (2 en un sistema binario, 10 en un sistema decimal),
e es el exponente,
tanto m como e se representan en base b.
La representacin anterior se puede escribir como
p

x = (-1) d1.d 2 d3d 4 ....d p b = (-1) b d j b-( j-1)
s e s e

j =1

donde:
con s=0 el signo +, con s=1 el signo -
el significando (mantisa) m=d1.d 2 d3 d 4 ....d p tiene una precisin de p dgitos,
0 di < b son nmeros enteros 20
Tema 1: Representacin en coma flotante
Representacin cientfica o coma flotante

Parmetros de una representacin en coma flotante:


Base b (2 en un sistema binario, 10 en un sistema decimal),
Nmero de dgitos de la mantisa p,
Nmero de bits del exponente e.

En una representacin en coma flotante:


1. El nmero de dgitos de la mantisa determina la precisin del sistema de representacin,
e.e., el nmero de cifras significativas de precisin.
2. El nmero de bits del exponente determina el rango de valores de los nmeros
representados.

21

Tema 1: Representacin en coma flotante


Representacin coma flotante: Estndar
Un estandar de representacin en coma flotante especifica:

Formato de almacenamiento en memoria de nmeros,


Comportamiento obligado de determinadas operaciones,
Resultados no numricos:
Inf : Infinitos ( )
NaN : Campo no numrico (Not-a-number).
Representacin de las operaciones sin solucin matemtica 0/0, -, etc.
Manejo de excepciones

22
Tema 1: Representacin en coma flotante
Representacin coma flotante: Ejemplo

Sea una representacin en coma flotante en base 2 que almacena en memoria


los siguientes 4 bits:
2 bits m = (b1 , b2 )2 para la mantisa y 2 bits e = (e1 , e2 )2 para el exponente.

El nmero mquina representado es x = (1.b1b2 ) 2 2e-1.
Calcular todos los nmeros mquina de esta representacin.
Calcular vmax y vmin valor mximo y valor mnimo, respectivamente.
Calcular eps (1) , eps (3) y eps (6).
Sea x=5.6, calcular su nmero mquina y los 4 bits a almacenar en memoria.

Nota: Conversin de nmero binario a nmero decimal

(b1 b2 b3 . b4 b5 b6 )2 = b1 22 + b2 21 + b3 20 + b4 2-1 + b5 2-2 + b6 2-3


23

Tema 1: Representacin en coma flotante


Estndar IEEE 754
Es el estndar de aritmtica en coma flotante mas extendido en clculos
cientficos y tecnolgicos.
Define los formatos de representacin de nmeros en coma flotante
(incluyendo 0, nmeros desnormalizados, infinito, NaN) con un conjunto
de operaciones en coma flotante. Especifica modos de redondeo y
excepciones.
Lo utiliza Matlab.
Formatos:
Precisin simple (32 bits / 4 bytes palabra)
Precisin doble (64 bits / 8 bytes palabra)

24
Tema 1: Representacin en coma flotante
Estndar IEEE 754 simple precisin: rango de valores

Sistema binario (b=2). Palabras de 32 bits (4 bytes): 8 bits exponente + 24 bits mantisa

Rango de valores representables:


Exponente e (en base 2) con 8 bits.
Cuantas posiciones podemos representar? 28 = 256 posiciones.
e = (00000000)2 = 0, ....., e = (11111111)2 = 28 -1 = 255 e [0, 255]
Desplazamos el rango de valores del exponente: -127
Rango de valores del exponente e: [ 0, 255]-127 = [-127,128]
[emin , emax ] = [-127,127 ], el valor 128 est reservado para .
Rango de valores max/min representables: si m 1
[vmin , vmax ] = mbemin , mbemax = 1 2-127 ,1 2127 @ 10-38 ,1038
Luego [vmin , vmax ] = 10-38 ,1038 . Y sus opuestos: -1038 , -10-38

25

Tema 1: Representacin en coma flotante


Estndar IEEE 754 simple precisin: rango de valores

Sistema binario (b=2). Palabras de 32 bits (4 bytes): 8 bits exponente + 24 bits mantisa

Rango de valores del exponente: [emin , emax ] = [-127,127 ]


Rango de valores mximos/mnimos representables:
[vmin , vmax ] = 10-38 ,1038 . Y sus opuestos: -1038 , -10-38

- 0 1

-1038 -10-38 0 10-38 1038

26
Tema 1: Representacin en coma flotante
Estndar IEEE 754 simple precisin: representacin Normalizada
Sistema binario. Palabras de 32 bits: 8 bits exponente + 24 bits mantisa

Representacin de la mantisa m (en base 2) con 24 bits.


Mltiples formas de representar el mismo valor: (0.001)2 = (1.000)2 2-3
Elegimos una representacin nica: Normalizada
El dgito antes de la coma es siempre '1'.
No lo almacenamos en memoria. Disponemos de los 24 bits.
Rango valores mantisa m (1.0000....0)2 ,..., (1.111....1)2 [1, 2)
Por tanto, la mantisa m de 24 bits:
1 bit para el signo (+/-)
23 bits para m : m= (1.d1d 2 .....d 23 )2 [1, 2) , di {0,1}.

Truco: Rango de valores de la mantisa


m= (1.0.....0)2 = 1 [1, 2); m= (1.1.....1)2 = (10.0.....0)2 - (0.0.....1)2 = 2 - 2-23
Luego, m [1, 2)
27

Tema 1: Representacin en coma flotante


Estndar IEEE 754 simple precisin: cifras de precisin

Sistema binario.
Palabras de 32 bits: 8 bits exponente + 24 bits mantisa normalizada m = (1.d1d 2 .....d 23 )2

Con el valor del bit menos representativo de la mantisa obtenemos la precisin.

El bit menos significativo de la mantisa es (el ltimo bit, en la posicin 23):


(0.00.....1)2 = 2-23 1.1910-7
x - x x1 - x m1 2e - m2 2e 2e 1
E _ rel = = e
= m1 - m2 e
(0.00.....1)2
x 2 x 2 m1 2 2m1 2 2
1
E _ rel 1.1910-7 10-7
2
Luego, [- log10 E _ rel ] = 7 y tenemos 7 cifras significativas de precisin

28
Tema 1: Representacin en coma flotante
Estndar IEEE 754 simple precisin: eps(1)

Sistema binario. Palabras de 32 bits: 8 bits exponente + 24 bits mantisa normalizada.

Calculamos eps(1) (distancia entre el nmero 1 y el siguiente nmero mquina)


El nmero 1 lo representamos: 1 = (1.00.....0)2 20

. El primer nmero maquina mayor que 1 es: x = (1.00.....0)2 + (0.00.....1)2 20 = 1 + 2-23
Restando obtenemos: eps(1) = 1 + 2-23 -1 = 2-23 @ 1.1910-7
Luego, eps (1) = 2-23
Ejercicios:
1. Calcular el eps(2) y el eps(4).
2. Cuantos nmeros mquina hay entre 20 , 21 ? a que distancia estn los nmeros mquina
en el intervalo 20 , 21 ?. Idem para el intervalo 21 , 22 .

29

Tema 1: Representacin en coma flotante


Estndar IEEE 754 simple precisin: recta nmeros mquina

Sistema binario. Palabras de 32 bits: 8 bits exponente + 24 bits mantisa normalizada.

Rango de valores [vmin , vmax ] = 10-38 ,1038 . Y sus opuestos -1038 , -10-38
Tamao del salto eps (1) = 2-23

- 0 1

-1038 -10-38 0 10-38 1 1+2-23 1038

30
Tema 1: Representacin en coma flotante
Estndar IEEE 754 simple precisin: Cota error relativo

Sistema binario. Palabras de 32 bits: 8 bits exponente + 24 bits mantisa normalizada


Sea el nmero real x que est entre dos nmeros mquina consecutivos, x [ x ', x ''], donde:

x ' = m2e = (1.d1d 2 .....d 23 )2 2e

x '' = ((1.d1d 2 .....d 23 )2 + (0.00.....1)2 ) 2e = x '+ 2-23 2e
Luego,
1
E_abs= x '- x x '- x '' = 2e-24 es un valor variable (depende de e)
2

x '- x 2e-24 2-24
E_rel= e
= 2-24 @ 5.9610-8 10-7 es un valor constante
x' m2 m
con m [1, 2).
Luego, en simple precisin tenemos
El error relativo es constante y acotado por E_rel 2-24 10-7
eps (1)
obteniendo una precisin de 7 cifras significativas, y E _ rel =
2 31

Tema 1: Representacin en coma flotante


Estndar IEEE 754 simple precisin: Resumen

Sistema binario. Palabras de 32 bits: 8 bits exponente + 24 bits mantisa normalizada

Resumen:
Error relativo constante acotado por E _ rel 2-24 @ 10-7
obteniendo una precisin de 7 cifras significativas
eps(1) = 2-23
eps (1)
E _ rel =
2
E _ rel 2-( n bits mantisa , incluyendo signo )

32
Tema 1: Representacin en coma flotante
Estndar IEEE 754 simple precisin: Nmeros normalizados/denormalizados

Sistema binario. Palabras de 32 bits: 8 bits exponente + 24 bits mantisa

El objetivo de los nmeros denormalizados es:


obtener ms nmeros muy pequeos, a cambio de prescindir de nmeros muy grandes.

Convenio: Significado especfico de algunos exponentes.


Exponente Mantisa Nmeros mquina Denominacin
d
e = (00000000)2 m = (0.d1d 2 .....d 23 )2 x = (0.d1d 2 .....d 23 )2 2-126 N denormalizados

e = (e1e2 e3 ....e8 )2 m = (1.d1d 2 .....d 23 )2 x = (1.d1d 2 .....d 23 )2 2e-127 N normalizados
e = (11111111)2 , NaN No numricos

Nota: La parte entera de la mantisa ('0' si es denormalizado o '1' si es normalizado)


no se almacena en memoria. Se 'deduce' por el valor del exponente (0 para denormalizado o
0 para normalizado).

33

Tema 1: Representacin en coma flotante


Estndar IEEE 754 simple precisin: Nmeros normalizados/denormalizados
Sistema binario. Palabras de 32 bits: 8 bits exponente + 24 bits mantisa

Nmeros normalizados y denormalizados: rango de valores

Exponente Mantisa Nmeros mquina Denominacin


d
e = (00000000)2 m = (0.d1d 2 .....d 23 )2 x = (0.d1d 2 .....d 23 )2 2-126 N denormalizados

e = (e1e2 e3 ....e8 )2 m = (1.d1d 2 .....d 23 )2 x = (1.d1d 2 .....d 23 )2 2e-127 N normalizados
e = (11111111)2 m = 0, m 0 , NaN No numricos

(11111110)2 -127
Nmero normalizado mas grande: xmax = (1.1.....1)2 2 = (2 - 2-23 ) 2127
(00000001)2 -127
Nmero normalizado mas pequeo: xmin = (1.0.....0)2 2 = 2-126
d
Nmero denormalizado mas grande: xmax = (0.11....1)2 2-126 = (1- 2-23 ) 2-126

Nmero denormalizado mas pequeo: x0d = (0.0....00)2 2-126 = 0
d
el siguiente: xmin = (0.0....01)2 2-126 = 2-23 2-126 = 2 -149
Rango de valores: vmin
d d
, vmax -45 -38 -38 38
= 10 ,10 , [vmin , vmax ] = 10 ,10 34
Tema 1: Representacin en coma flotante

35

Tema 1: Representacin en coma flotante


Estndar IEEE 754 simple precisin: Resumen

Sistema binario. Palabras de 32 bits: 8 bits exponente + 24 bits mantisa

eps (1) = 2-23.


eps (1)
Un error relativo constante acotado por E_rel= 10-7 ,
2
una precisin de 7 cifras significativas.

Rango de valores vmin


d d
, vmax -45 -38 -38 38
= 10 ,10 , [vmin , vmax ] = 10 ,10

- 0 1

-Inf 0 10-45 10-38 1 1+2-23 1038 Inf

36
Tema 1: Representacin en coma flotante
Estndar IEEE 754 doble precisin

El estandar doble precisin es similar/repetir el estardar simple precisin:

1. El sistema binario (el mismo).


2. Duplicar el tamao de las palabras (8 bytes en lugar de 4).
3. Obtener muchos mas nmeros mquina (264 nmeros en lugar de 232 ).
4. Obtener mucha ms precisin: cota error mucho menor (2-53 en lugar de 2-24 ).
5. Obtener muchas ms cifras significativas de precisin (15 cifras en lugar de 7).

37

Tema 1: Representacin en coma flotante


Estndar IEEE 754 doble precisin

Sistema binario. Palabras 8 bytes (64 bits): 11 bits exponente + 52 bits mantisa + 1 signo

(e e .....e ) -1023
Nmeros normalizados: x = (1. f1 f 2 ..... f 52 )2 2 1 2 11 2

Nmeros denormalizados: x d = (0. f1 f 2 ..... f 52 )2 2-1022 si e = (00000000000)2
No numricos: , NaN si e = (11111111111)2

Exponente binario de 11 bits (211 = 2048 posiciones [0, 2047 ] ).


Rango de valores del exponente [emin , emax ] = [-1024,1024]

38
Tema 1: Representacin en coma flotante
Estndar IEEE 754 doble precisin
Sistema binario. Palabras 8 bytes (64 bits): 11 bits exponente + 52 bits mantisa + 1 signo

(e e .....e ) -1023
Nmeros normalizados: x = (1. f1 f 2 ..... f52 )2 2 1 2 11 2

Nmeros denormalizados: x d = (0. f1 f 2 ..... f52 )2 2-1022 si e = (00000000000)2
No numricos: , NaN si e = (11111111111)2

(11111111110)2 -1023
Nmero normalizado mas grande: xmax = (1.1.....1)2 2 = (2 - 2-52 ) 21023
(00000000001)2 -1023
Nmero normalizado mas pequeo: xmin = (1.0.....0)2 2 = 2-1022
d
Nmero denormalizado mas grande: xmax = (0.11....1)2 2-1022 = (1- 2-52 ) 2-1022

Nmero denormalizado mas pequeo: x0d = (0.0....00)2 2-1022 = 0

el siguiente: xmd in = (0.0....01)2 2-1022 = 2-52 2-1022 = 2 -1074
Rango de valores: vmin
d d
, vmax -323 -307 -307 308
= 10 ,10 , [vmin , vmax ] = 10 ,10

39

Tema 1: Representacin en coma flotante

Estndar IEEE 754 doble precisin

Sistema binario. Palabras 8 bytes (64 bits): 11 bits exponente + 52 bits mantisa + 1 signo

eps(1)= (0.00.....01)2 = 2-52 @ 210-16 @ 10-15


eps (1)
La cota del error relativo es: E_rel = 2-53 @ 10-15
2
Con doble precisin se obtienen 15 cifras significativas de precisin.

40
Tema 1: Representacin en coma flotante

41

Tema 1: Representacin en coma flotante


Estndar IEEE 754 doble precisin: Resumen
Sistema binario. Palabras 8 bytes (64 bits): 11 bits exponente + 52 bits mantisa + 1 signo

eps (1) = 2-52


eps (1)
Un error relativo constante acotado por E_rel= 10-15 ,
2
una precisin de 15 cifras significativas.

Rango de valores vmin


d d
, vmax -323 -307 -307 308
= 10 ,10 , [vmin , vmax ] = 10 ,10

- 0 1

-Inf 0 10-323 10-307 1 1+2-52 10308 Inf


42
Tema 1: Representacin en coma flotante
Relaciones en coma flotante

Sistema binario. Palabras con n bits exponente + m bits mantisa + 1 signo

eps (1) = 2-(n bits mantisa ) (valor del bit menos representativo)
eps (1)
Un error relativo constante acotado por E_rel= = 2-(n bits mantisa + bit signo)
2
E_rel @ 10-(n cifras significativas precisin) N cifras significativas precisin= [-Log10 E_rel]

43

44

You might also like