metodos numericos
Aritm´tica de ordenador y
e
errores computacionales
1.1
Representaci´n de n´ meros
o
u
Los c´lculos aritm´ticos en ordenadores, tanto con n´meros enteros como con reales, s´lamente
a
e
u
o
aproximan nuestra aritm´tica usual. Esto es debido al tama˜o fijo de memoria que se utiliza
e
n
para almacenar un n´mero; por tanto existe una limitaci´n a la cantidad de d´
u
oıgitos que pueden
ser guardados.
La mayor´ de los computadores actuales representan n´meros internamente con una sucesi´n
ıa
u
o
de ceros y unos. Sin embargo, para que resulte m´s clara la exposici´n del tema, la mayor parte
a
o
se desarrollar´ usando d´
a
ıgitos decimales.
1.1.1
Representaci´n de n´meros enteros
o
u
Los n´meros enteros se representan en los computadores pormedio de un n´mero finito de
u
u
d´
ıgitos. Por ejemplo, supongamos que tenemos enteros con seis d´
ıgitos decimales y que cada
entero tiene tambi´n un signo + o −. Existen por tanto un n´mero finito de enteros, desde
e
u
−999999 hasta 999999. Un entero fuera de este rango no existe en lo que respecta al computador
usado.
La aritm´tica entera con n´meros dentro del rango anterior esexacta, por ejemplo,
e
u
5 + 7 = 12,
9 − 20 = −11,
19 × 2 = 38,
8/(−3) = −2.
Si el resultado de una operaci´n es demasiado grande o demasiado peque˜o, el resultado es
o
n
impredecible. En algunos computadores, se env´ un mensaje de error y la ejecuci´n finaliza.
ıa
o
En otros, se obtienen resultados err´neos en los c´lculos, pero sin parar la ejecuci´n.
o
a
o
1.1.2Representaci´n de n´meros reales
o
u
Los n´meros reales se almacenan en los computadores en la llamada representaci´n en punto
u
o
flotante. Para simplificar, supondremos que se representan en forma punto flotante decimal
normalizada,
±0.d1 d2 . . . dk × 10n
1 ≤ d1 ≤ 9
0 ≤ di ≤ 9
i = 2, 3, . . . , k
La secuencia de d´
ıgitos d1 d2 . . . es la mantisa y n es el exponente. Por ejemplo:5
− = −0.625 × 100
8
M´todos Matem´ticos I.
e
a
1
1.1 Representaci´n de n´ meros
o
u
25
= +0.625 × 101
4
El n´mero m´ximo de d´
u
a
ıgitos que pueden ser guardados es k; es decir, la mantisa contiene
s´lo k d´
o
ıgitos.
Cualquier n´mero real, x, puede ser escrito como
u
x = ±0.d1 d2 . . . dk dk+1 . . . × 10n
(1.1)
La forma de punto flotante de x, denotada por fl(x), se obtiene terminando la mantisa de
x despu´s de k d´
e
ıgitos. Esto se puede hacer truncando o redondeando. En el primer caso:
f l(x) = ±0.d1 d2 . . . dk × 10n ,
(1.2)
y en el segundo, si x es positivo (resp. negativo), se le suma (resp. se le resta) 5 × 10n−(k+1) y
se trunca el resultado, obteni´ndose
e
f l(x) = ±0.δ1 δ2 . . . δk × 10n ,
(1.3)
pudiendo haber variadotodos los d´
ıgitos guardados. Evidentemente, el redondeo es el m´todo
e
que proporciona mejores resultados, siendo por tanto el utilizado en los computadores actuales.
Ejemplo
Si k = 4 y usamos truncaci´n, los n´meros 1.23456 y −6.54321 se representan respectivao
u
1 y −0.6543 × 101 respectivamente; si usamos redondeo entonces resulta
mente por 0.1234 × 10
0.1235 × 101 y −0.6543 × 101 .Existen tambi´n limitaciones al tama˜o del exponente; n tiene que verificar la desigualdad:
e
n
−m ≤ n ≤ M
donde m y M son enteros positivos. Si n es mayor que M diremos que ha ocurrido overflow.
Esta situaci´n ocurre normalmente al intentar dividir por un n´mero muy peque˜o o incluso
o
u
n
nulo; la consecuencia normal es que la ejecuci´n se detenga en ese momento. En todo caso es
oconveniente procurar evitar estas situaciones cuando es probable que esto ocurra. Si n es menor
que −m, diremos que ha ocurrido underflow; en este caso los ordenadores suelen cambiar el valor
del n´mero a cero y continuan los c´lculos.
u
a
1.1.3
Errores
Cuando se representan los n´meros en forma punto flotante, el error que se comete es llamado
u
usualmente error de redondeo. Veremos...
Regístrate para leer el documento completo.