Guia 3 Aritmetica de Computadoras
Guia 3 Aritmetica de Computadoras
Guia 3 Aritmetica de Computadoras
Casi siempre la representación y la aritmética computacional son satisfactorias y pasan inadvertidas; como
ejemplo, los números reales 𝑅 se representa mediante un conjunto finito de números racionales que se
representan como números en punto flotante o números máquina.
DEFINICIÓN: Todo número real 𝑥 no nulo puede ser escrito en forma única en notación científica normalizada,
si tiene la siguiente forma:
Ejemplo: La forma decimal normalizado se ilustra con los siguientes números fraccionarios:
1
1. − = −0,909090 … 𝑥 10−1
11
15
2. = 0,13636363 … 𝑥 101
11
En general, todo número real no nulo puede representarse en forma única, respecto la base 𝛽, en la forma de
punto flotante normalizada:
± 0, 𝑑1 𝑑2 𝑑3 … 𝑑𝑡 𝑑𝑡+1 … 𝑥 𝛽 𝑒
Donde los “dígitos” 𝑑𝑖 respecto de la base 𝛽 son enteros positivos tales que 1 ≤ 𝑑1 ≤ 𝛽 − 1, 0 ≤ 𝑑𝑖 ≤
𝛽 − 1 para i = 2, . . . y constituyen la parte fraccional o mantisa del número, en tanto que 𝑒, el cual es un
número entero llamado el exponente, indica la posición del punto correspondiente a la base 𝛽. Ahora, si 𝑚 es
la fracción decimal correspondiente a (0, 𝑑1 𝑑2 𝑑3 … )𝛽 entonces el número representado corresponde al número
decimal:
(−1)𝑠 𝑚𝑥𝛽 𝑒 , 𝛽 −1 ≤ 𝑚 < 1
________________________________________________________________________________________
Mg. Alvaro Espinosa Pérez
NOTAS DE CLASES DE ANÁLISIS NUMÉRICO 2020-2
DEFINICIÓN: Un número de máquina es un número real que puede almacenarse de manera exacta en forma
normalizada de punto flotante en una computadora.
Recuérdese que la notación científica expresa de manera compacta, cantidades de gran magnitud o de muy
pequeña magnitud, a través del producto de una cantidad denominada mantisa multiplicada por la base diez,
la cual se eleva a una cierta potencia denominada característica. Este tipo de representación es el que se
emplea tanto en computadoras como en calculadoras.
La gran mayoría de las computadoras actuales (y efectivamente todas las computadoras personales, o PC)
utilizan internamente el sistema binario (𝛽 = 2). Las calculadoras, por su parte, utilizan el sistema decimal
(𝛽 = 10). Ahora bien, cualquiera sea la base 𝛽 escogida, todo dispositivo de cálculo sólo puede almacenar un
número finito de dígitos para representar un número.
En una computadora sólo se puede disponer de un cierto número finito fijo 𝑁 de posiciones de memoria para
la representación de un número. El valor de 𝑁 se conoce como longitud de palabra (en inglés, word length).
Además, aun cuando en el sistema binario cualquier número puede representarse tan sólo con los dígitos 1 y
0, el signo menos (− ) y el punto, la representación interna en la computadora no tiene la posibilidad de disponer
de los símbolos signo y punto. De este modo una de tales posiciones debe ser reservada de algún modo para
indicar el signo y cierta distinción debe hacerse para representar la parte entera y fraccionaria. Esto puede
hacerse de distintas formas, en primer lugar, la representación de punto fijo (utilizada para representar los
números enteros) y, en segundo lugar, la representación de punto flotante (utilizada para representar los
números reales).
Para una computadora dada, el número de bits generalmente se llama palabra. Las palabras van desde ocho
bits hasta 64 bits. Para facilitar su manejo, la palabra se divide en partes más cortas denominadas bytes; por
ejemplo, una palabra de 32 bits puede dividirse en cuatro bytes (ocho bits cada uno).
El épsilon de la máquina (cero de la maquina) es una manera de medir que tan preciso puede ser guardado un
numero en la representación de punto flotante utilizada.
El épsilon de la maquina consiste en la diferencia entre el 1 y el número de coma flotante más grande siguiente
en el equipo. Representa la exactitud relativa de la aritmética del computador. La existencia del épsilon de la
máquina es una consecuencia de la precisión finita de la aritmética en punto flotante.
En el sistema binario, por ejemplo, el épsilon de la máquina es igual a 2−𝑛 , donde 𝑛 es la longitud de la mantisa
sin tomar en cuenta el bit implícito antes del punto flotante. La precisión 𝑛 de un sistema de números de punto
flotante (float point) en una computadora estará limitada por la longitud de palabra N disponible para representar
un número.
Se puede comprobar fácilmente el valor de épsilon, si dado un número 𝑥 cuya aproximación es 𝑥 ∗ , el error
relativo al usar redondeo es:
𝑥 − 𝑥∗
⌈ ⌉ ≤ 0,5𝑥𝛽1−𝑡
𝑥
________________________________________________________________________________________
Mg. Alvaro Espinosa Pérez
NOTAS DE CLASES DE ANÁLISIS NUMÉRICO 2020-2
Con frecuencia una operación aritmética con dos números válidos da como resultado un número tan grande o
pequeño que la computadora no puede manejarlo; como consecuencia se produce un overflow o
desbordamiento por exceso y se interrumpen los cálculos o bien, un underflow, o desbordamiento por defecto
y suele dársele el valor cero.
Ejemplos:
0,135 𝑥 10100 produce un Overflow.
0,135 𝑥 10−100 produce un Underflow.
En las computadoras tradicionalmente, se han definido dos formatos de punto flotante con base β = 2:
1. Precisión simple: 𝐹(2, 24, −127, 128) implementado en una longitud de palabra N = 32 bits,
2. Precisión doble: 𝐹(2, 53, −1022, 1023) implementado en una longitud de palabra N = 64 bits
El épsilon de la maquina en precisión doble es 2−52 ≈ 2,22 × 10−16 . Así el formato en doble precisión
puede ser usado para guardar aproximadamente 16 dígitos de un número 𝑥.
En 1985, el IEEE (Institute for Electrical and Electronic Engineers, publicó la Norma de la aritmética binaria de
punto flotante 754 (estándar IEEE 754 de doble precisión). Se representa con 64 bits y consta de:
Veamos:
1. Tiene primer bit es s = 0 ⇒ número positivo.
2. Característica:
4. Mantisa:
1 1 1 1 1 1
(−1)0 21027−1023 [1 + 1. ( ) + 1. ( ) + 1. ( ) + 1. ( ) + 1. ( ) + 1. ( )]
2 8 16 32 256 4092
= 27,56640625
________________________________________________________________________________________
Mg. Alvaro Espinosa Pérez
NOTAS DE CLASES DE ANÁLISIS NUMÉRICO 2020-2
Ejemplos:
1. Sea = 0.3141592654 … 𝑥 102 . Al truncar en 5 dígitos nos queda 𝑓𝑙() = 0.31415 𝑥 102
2. Redondear 𝑦 = en 5 dígitos nos queda f𝑙() = 0.31416 x 101
3. Redondear 𝑦 = 4275.54 en 4 dígitos nos queda 𝑓𝑙(𝑦) = 0.4276 𝑥 104
La representación redondeada tiene la mitad de error que la truncada, por lo que es un sistema mejor para
representar números, aunque es ligeramente más sofisticado.
Los errores de redondeo pueden ser sutiles, cuando se realizan cálculos individuales, pero estos pueden
perjudicar la precisión computacional si existen situaciones las cuales son:
1. La suma de un número grande con un numero pequeño produce un error absoluto grande pero no un
gran error relativo.
2. La resta entre dos números parecidos da un error absoluto pequeño pero un gran error relativo. Las
cifras significativas se pierden en un solo cálculo.
3. La multiplicación por números grandes amplifica el error absoluto, pero no modifica el error relativo.
4. La división entre números pequeños amplifica el error absoluto pero no modifica el error relativo.
Ejemplo: Calcule en forma exacta y luego usando aritmética de redondeo a tres cifras (o dígitos), la siguiente
operación aritmética:
2 8 9
+ −
3 7 4
Solución:
La solución exacta es:
2 8 9 149
− + = = 1,773809524
3 7 4 84
2
x= = 0,66666 … ⇒ 𝑓𝑡(𝑥) = 0,667
3
8
y = = 0,8888 … ⇒ 𝑓𝑡(y) = 0,889
9
9
z = = 2,25 ⇒ 𝑓𝑡(z) = 2,25
4
________________________________________________________________________________________
Mg. Alvaro Espinosa Pérez
NOTAS DE CLASES DE ANÁLISIS NUMÉRICO 2020-2
−𝑏 ± √𝑏2 − 4𝑎𝑐
𝑥=
2𝑎
−(62,10) ± √(62,10)2 − 4,000(1,000)(1,000)
𝑥=
2(1,000)
−62,10 ± √3856 − 4,000 −62,10 ± √3852
𝑥= =
2,000 2,000
________________________________________________________________________________________
Mg. Alvaro Espinosa Pérez
NOTAS DE CLASES DE ANÁLISIS NUMÉRICO 2020-2
−62,10 + 62,06
−0,04000
𝑓(𝑥1 ) = = − 0,02000
2,000 2,000
−62,10 − 62,06 −124,2
𝑓(𝑥2 ) = = = −62,10
2,000 2,000
𝑥1 = −0.01610723 y 𝑥2 = −62.08390.
Calculemos los errores:
−0.01610723 − (−0,02000)
𝐸𝑟 (𝑥1 ) = | | = 2,4 𝑥 10−1
−0.01610723
−62.08390 − (−62,10)
𝐸𝑟 (𝑥2 ) = | | = 3,2 𝑥 10−4
−62.08390
Se restaron dos números "casi iguales" (números iguales en aritmética de cuatro dígitos) y sufrieron
pérdida de exactitud. ¿Cómo evitar esto? Una forma sería reescribir la expresión para la solución de
una ecuación cuadrática a fin de evitar la resta de números "casi iguales". El problema, en este caso,
se da en el signo negativo asignado a la raíz cuadrada; esto es:
Esta forma alternativa para calcular una raíz pequeña de una ecuación cuadrática, casi siempre
produce una respuesta más exacta que la de la fórmula usual. Calculamos ahora el error relativo:
−0.01610723 − (−0,01610)
𝐸𝑟 (𝑓(𝑥2 )) = | | = 4,48 𝑥 10−4
−0.01610723
4. La pérdida de precisión debido a un error de redondeo también se puede reducir al reacomodar los
cálculos, como se muestra en el siguiente ejemplo: Sea 𝑓(𝑥) = 𝑥 3 − 6.2𝑥 2 + 3.5𝑥 + 1.2,
halle 𝑓(4.25) y utilice aritmética de 3 dígitos por truncamiento y Redondeo
Nos apoyaremos en la siguiente tabla para ilustrar la solución:
− 19.146875 − (− 18.3)
Er = = 4,42 x10 − 2
− 19.146875
Entonces:
𝑓(𝑥) = 𝑥 3 − 6.2𝑥 2 + 3.5𝑥 + 1.2
= [(𝑥 – 6.2) 𝑥 + 3.5] 𝑥 + 1.2
= [(4.25 – 6.2)4.25 + 3.5] 4.25 + 1.2
= [(−1.95)4.25 + 3.5]4.25 + 1.2
= (−8.29 + 3.5)4.25 + 1.2
= (−4.79)4.25 + 1.2
= −20.4 + 1,2 = −19.2
−19,146875−(−19,2)
Al hallar el error: 𝐸𝑟 = | | = 2,77 𝑥 10−3
−19,146875
EJERCICIOS EN CLASES:
1. Efectúe los siguientes cálculos (i) exactamente, (ii) usando aritmética de truncamiento a tres dígitos,
(iii) usando aritmética de redondeo a tres dígitos. Calcule los errores absoluto y relativo para cada
caso.
22
a. 14,1 + 0,0981 𝜋− 5
3 c. 1
b. −12𝜋 + 7𝑒 − 12
62
2. Sea la función 𝑓(𝑥) = √𝑥 2 + 1 − 1 presenta cancelación catastrófica para 𝑥 ≈ 0. Evalúela en
𝑥 = 0.01 con aritmética exacta, truncamiento y redondeo con tres cifras. Calcule sus errores absoluto
y relativo.
3. Sea 𝑓(𝑥) = 1.01𝑒 4𝑥 − 4.6𝑒 3𝑥 − 3.11𝑒 2𝑥 + 12.2𝑒 𝑥 − 1.99. Use la aritmética de redondeo a
tres dígitos para evaluar 𝑓(1.53). Calcule el error relativo.
𝑥𝑖
4. El polinomio de Taylor de grado 𝑛 para 𝑒 𝑥 es ∑𝑛𝑖=0 . Use el polinomio de Taylor de grado siete y
𝑖!
utilice aritmética de truncamiento a 3 dígitos para determinar una aproximación de e-5 usando:
(−5)𝑖
a. 𝑒 −5 = ∑7𝑖=0
𝑖!
1 1
b. 𝑒 −5 = = 5𝑖
𝑒5 ∑7𝑖=0
𝑖!
c. El valor aproximado de e-5 con tres cifras correctas es 6,74 x 10-3. ¿Cuál fórmula es más precisa?
¿Porque?
5. Complete el siguiente cálculo:
1/4 1/4
2 𝑥4 𝑥6
∫ 𝑒 𝑥 𝑑𝑥 ≈ ∫ (1 + 𝑥 2 + + ) 𝑑𝑥 = 𝑝 ∗
0 0 2! 3!
Determine qué tipo de error se presenta en esta situación y compare el resultado con el valor exacto
𝑝 = 0,2553074606.
________________________________________________________________________________________
Mg. Alvaro Espinosa Pérez