Asignatura: PROGRAMACIÓN Y MÉTODOS NUMÉRICOS

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Asignatura: PROGRAMACIÓN Y MÉTODOS NUMÉRICOS"

Transcripción

1 UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE MINAS DEPARTAMENTO DE MATEMÁTICA APLICADA Y MÉTODOS INFORMÁTICOS Asignatura: PROGRAMACIÓN Y MÉTODOS NUMÉRICOS Tema: ERRORES DE REDONDEO EN LA REPRESENTACIÓN DE NÚMEROS REALES Prof. Carlos Conde Lázaro Prof. Arturo Hidalgo López Prof. Alfredo López Benito Marzo, 007

2 ÍNDICE Pág.. INTRODUCCIÓN... LA NOTACIÓN CIENTÍFICA Y LA REPRESENTACIÓN EN COMA FLOTANTE NORMALIZADA DE NÚMEROS REALES EN BASE La notación científica decimal. 3.. La representación en coma flotante normalizada decimal El conjunto finito de números de un sistema decimal en coma flotante normalizada Truncado y redondeo de números reales en coma flotante La unidad de redondeo en coma flotante decimal Los errores de overflow y de underflow LA NOTACIÓN CIENTÍFICA Y LA REPRESENTACIÓN EN COMA FLOTANTE NORMALIZADA DE NÚMEROS REALES EXPRESADOS EN BASE Expresión en base de un número entero no nulo Expresión en base de un número real de valor absoluto inferior a Expresión binaria en coma flotante de números reales Truncamiento y redondeo de números binarios expresados en coma flotante La unidad de redondeo en coma flotante binaria La codificación binaria de números en equipos de cálculo Codificación binaria de números enteros Codificación binaria de números reales en coma flotante Los números máquina binarios PROPAGACIÓN DE ERRORES Propagación de errores trabajando con números máquina.. 50 A) Multiplicación y división de números máquina B) Sumas y restas de números máquina Propagación de errores operando con números reales COMENTARIOS SOBRE EL TEMA BIBLIOGRAFÍA. 67 ii

3 Programación y Métodos Numéricos Errores de redondeo. INTRODUCCIÓN El Análisis Numérico puede definirse como la rama de las Matemáticas que se ocupa del desarrollo de métodos de cálculo eficaces para la obtención, en general aproximada, de los valores que toman las soluciones de los problemas que otras disciplinas matemáticas plantean, así como de acotar el error entre las soluciones obtenidas y las exactas. Si bien muchos de esos métodos de cálculo eficaces (que llamaremos a partir de ahora métodos numéricos) tienen sus orígenes en épocas bastante lejanas, fue a partir de la segunda mitad del siglo XX cuando el Análisis Numérico tuvo un desarrollo espectacular. Ello, sin duda, fue debido a la aparición (a partir de la mitad de la década de los 40 del siglo XX) de sucesivos ordenadores que permitieron incrementar notablemente la velocidad de cálculo haciendo eficaces métodos que sin estas herramientas serían inaplicables en la práctica. Baste recordar en este sentido que el número de operaciones elementales por minuto que se podía realizar con los artilugios existentes en 940 ha sido multiplicado en la actualidad por más de 00 millones y que está cercana la construcción de máquinas capaces de realizar un billón de operaciones elementales por segundo. Pero la tecnología actual sólo permite realizar operaciones aritméticas elementales (sumas, restas, multiplicaciones y divisiones) con cifras que tengan un número limitado de dígitos. Por una parte esto conduce a tener que diseñar procesos de cálculo (algoritmos) que sólo contemplen este tipo de operaciones elementales. Por otra parte, obliga a tener que redondear o truncar los números que se manejen. Ambas simplificaciones introducirán diferencias (errores) entre la solución calculada con el ordenador y la solución real del problema que se pretenda resolver. Más concretamente, en la obtención de soluciones aproximadas mediante algoritmos de cálculo pueden introducirse tres tipos de errores: A) Errores en la toma de datos. Son debidos a falta de precisión de los aparatos de medida con los que se obtengan dichos datos. Aunque existen técnicas para tenerlos en cuenta y estimar su incidencia, no Existen programas de cálculo simbólico (MAPLE, Mathematica, DERIVE,...) que permiten realizar operaciones con números exactos. Pero su uso en grandes procesos de cálculo acaba conduciendo a expresiones inmanejables que en un momento dado deben evaluarse... con un número finito de dígitos.

4 Errores de redondeo Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid son objeto de esta asignatura y por ello no serán tratados en este tema. B) Errores del método numérico. Son debidos a las simplificaciones que deben introducirse para obtener una solución realizándose sólo un número finito de operaciones elementales. Ello, aún partiendo de datos exactos, puede introducir diferencias entre la solución exacta y la solución aproximada obtenida. Su estudio debe realizarse para cada método numérico concreto y son objeto de otros temas del Análisis Numérico. C) Errores en la representación utilizada de los números manipulados en el algoritmo. Son debidos a la imposibilidad de trabajar con infinitos dígitos y por tanto a la necesidad de truncar o redondear los valores que se manejen. A su vez la combinación de cifras aproximadas produce resultados en los que los errores pueden acumularse. El estudio de este tipo de errores es el objeto de este tema. NOTA: Junto a los anteriores podrían considerarse otras fuentes de error al plantear modelos numéricos debidos a las simplificaciones necesarias para la determinación de las ecuaciones matemáticas que representen el fenómeno real que se desee modelar. El estudio de estos otros tipos de error corresponde a las disciplinas de modelado numérico y tampoco será abordado en este tema. Ejemplo º: Por ilustrar los dos últimos tipos de error a los que nos hemos referido anteriormente, consideremos el proceso de cálculo que, a grandes / rasgos, se sigue en una máquina para evaluar e π. La transformación de este cálculo en un algoritmo que sólo realice operaciones aritméticas elementales se basa en considerar el desarrollo en serie de Taylor: n i x x (n x (i f(x) = f(0) + x f '(0) + f "(0) f (0) +... = f (0)! n! i= 0 i! que para la función exponencial considerada se reduce a: e x i x = i! i= 0 Obviamente no podrán calcularse los infinitos sumandos del sumatorio anterior ni realizarse las infinitas operaciones aritméticas elementales que

5 Programación y Métodos Numéricos Errores de redondeo conlleva. Por eso, en la práctica, deberemos limitarnos a calcular y sumar sólo los (n+) primeros sumandos para un valor de n suficientemente elevado. En otros términos el valor de e x es aproximado por: n i x x e i! i= 0 cometiéndose así en el algoritmo un error (del método numérico) dado en este caso por el resto de Taylor: x x x R(e ) = = e i! (n )! + (i) (n ) i= n+ + c donde, para x > 0, c ] 0,x[ De esta forma, el error del método numérico puede acotarse por la expresión: (n+ ) x x x R(e ) e (n + )! Si se desea calcular el valor de e x con cuatro decimales significativos y que el error del método numérico no tenga influencia en el proceso bastará con considerar un número de sumandos, (n+), suficientemente elevado para que: x R(e ) e < 0 (n + )! (n+ ) x x 4 En el caso considerado (x = π / y utilizando sólo 4 decimales) bastará con considerar n =0, por lo que la expresión: e π / 0 i ( π /) i! i= 0 proporciona el valor con 4 decimales de e π sin error del método numérico. En resumen, si pudiéramos trabajar con el número π / de forma exacta, los once primeros sumandos del desarrollo de Taylor nos proporcionarían el valor de / e π sin error en sus cuatro primeras cifras decimales. Pero, una vez conocido el algoritmo a emplear, debemos considerar una aproximación de π / = Con cuatro decimales significativos podemos optar por truncar este valor y tomar π /.5707 o 3

6 Errores de redondeo Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid por redondear tomando entonces π / Sea cual sea la opción elegida estaremos cometiendo un error en la representación del número π /. Consideremos la primera de las opciones: π / Partimos de un error en la representación de este número inferior a.0-4. El valor a calcular estará dado entonces por: (.5707) (.5707) (.5707) (.5707) = i! 3! 0! 0 i 3 0 π / e i= 0 El error cometido al representar π / con sólo cuatro decimales significativos tendrá incidencia al calcular sus sucesivas potencias de orden, 3, 4,..., 0. Y estos valores, que ya no son los exactos, deberán ser nuevamente aproximados al dividirlos por los cocientes de los respectivos sumandos. Así, utilizando nuevamente la opción de truncar en lugar de redondear: mientras que: ( ) π / (.5707) = ( π /) = cometiéndose un error del orden de 0-4. Análogamente, para aproximar el cuarto sumando: ( ) 3 π / (.5707) = ! 3 3 en tanto que: ( π /) 3 3! = Todos los sumandos de nuestro procedimiento de cálculo se ven afectados de esta manera por un error debido al truncamiento de los resultados a tan sólo 4 decimales. La tabla siguiente recoge los valores exactos y aproximados de estos sumandos: 4

7 Programación y Métodos Numéricos Errores de redondeo i i.5707 ( ( π / )i ) i i! i! Estos errores existentes en cada sumando se combinan al realizar la π / suma, de forma tal que el valor aproximado así obtenido es: e El / valor exacto es: e π = por lo que en el proceso hemos introducido un error de a pesar de que el análisis del error realizado para determinar el número de sumandos aseguraba un error nulo si no se hubieran truncado los valores a 4 cifras significativas. NOTA: Como se detallará más adelante, el proceso de cálculo descrito no es exactamente el que realizaría un ordenador o calculadora. La principal diferencia (además de la base de numeración con la que operan) estriba en que las máquinas de cálculo no fijan el número de decimales con el que trabajan sino el número de cifras significativas que se manipulan introduciendo una representación normalizada de los números (equivalente a la llamada representación científica cuando se trabaja en base 0). De estos asuntos nos ocuparemos más adelante. Ejercicio propuesto : Repite el ejemplo anterior aproximando los valores numéricos con cuatro cifras decimales pero obteniendo estas por redondeo en lugar de por truncamiento. Determina el error que de esta forma se comete en la evaluación de con el algoritmo antes considerado. / e π Ejemplo º: Describimos a continuación otro ejemplo que ilustra la influencia de los errores de redondeo. Se trata de calcular, para distintos valores del índice n, las integrales: 5

8 Errores de redondeo Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid n In = x sen(x) dx 0 (n =,,...) El cálculo mediante integración por partes de las integrales anteriores nos conduce a que, para n = 3, 4.,.., se puede escribir que: n n n u= x du= n x In = x sen(x) dx = = dv = sen(x) dx v = cos(x) 0 n (n ) (n ) = x cos(x) + n x cos(x) dx = cos() + n x cos(x) dx y, como a su vez: (n ) n (n ) 0 x u= x du = (n ) x cos(x) dx = = dv = cos(x) dx v = sen(x) (n ) (n ) 0 0 = x sen(x) (n ) x sen(x) dx = sen() + (n ) I resulta que: I n = -cos() + n sen() n (n-) I n- n Puede utilizarse esta relación de recurrencia para obtener los sucesivos valores de las integrales I n con subíndice par a partir del valor: I = x sen(x) dx = cos() + cos(x) dx = cos() + sen() = 0 0 = y del valor:: I = x sen(x) dx = cos() + sen() sin(x) dx = cos() + sen() = 0 0 = La tabla siguiente muestra los valores exactos (con sus 0 primeros decimales) de las integrales que se quieren evaluar y los que los aproximan si cada uno de los valores calculados se redondea considerando sólo sus 0 primeros decimales. En la tabla el cálculo de los valores exactos I n se realizó con 5 dígitos, de los que se muestran sólo los 0 primeros. En cuanto a los valores Aproximados, A y A se obtuvieron como la aproximación redondeada a 0 dígitos de I e I respectivamente. Para los demás A n (n = 3, 4, ) se utilizó la fórmula de recurrencia anterior, evaluando con 5 dígitos significativos el valor de (-cos() + n sen()) y sustrayendo a este resultado el valor de n (n-) A n- y aproximando el resultado así obtenido con 0 dígitos. 6

9 Programación y Métodos Numéricos Errores de redondeo n Valor exacto (I n ) Valor aproximado (A n ) I n A n En la tabla puede observarse como aumenta el error a medida que crece n y como va empeorándose la aproximación de los valores aproximados obtenidos. A partir de n = se obtienen valores inaceptables pues: En la sucesión de valores aproximados, A n, empieza a crecer el valor absoluto de los resultados aproximados (cosa que no sucede con los valores exactos) A partir de n = 3 comienzan a alternarse valores aproximados negativos y positivos (por parejas), cada vez de mayor valor absoluto. Esto no sucede con los valores exactos de la integral que siempre son positivos y forman una sucesión decreciente. La figura siguiente recoge la evolución de los 4 primeros valores exactos (en rojo) y de los aproximados (en azul) observándose como a partir del resultado A 3 existen diferencias que inutilizan los valores obtenidos de forma aproximada. 7

10 Errores de redondeo Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid En este caso la evolución del error en cada aproximación puede analizarse fácilmente. En efecto si se comete un error δ en la representación numérica utilizada para el valor aproximado (A ) de I, y otro error δ en la representación numérica utilizada para el valor aproximado (A ) de I,se tendrá: I = A +δ I = A +δ I = cos() + 3 sen() 3! I = cos() + 3 sen() 3! (A +δ ) = 3 = A 3! δ 3 I4 = cos() + 4 sen() 4! I = cos() + 4 sen() 4! (A +δ ) = 4! = A4 δ... I = A k + ( ) ( k+ )! δ ( k =,, ) k+ k+ k ( k + )! I k+ = A k+ + ( ) δ (k =,,.) El razonamiento anterior muestra un crecimiento del error de orden factorial lo que invalida el procedimiento de cálculo seguido para valores elevados del índice n. 8

11 Programación y Métodos Numéricos Errores de redondeo La figura siguiente muestra el comportamiento de los logaritmos en base 0 del error absoluto cometido en las primeras 5 integrales que se aproximen mediante el proceso anteriormente descrito. Ejercicio propuesto : Repite el ejemplo anterior truncando los valores que utilices de forma que tan sólo se manejen 6 decimales. Obtén los valores aproximados de las primeras 4 integrales y compara con los valores exactos dados en la tabla presentada en el ejemplo º. Determina el valor del índice n para el que la sucesión de valores aproximados deja de ser decreciente y aquel en el que se produce el primer signo negativo. Ejercicio propuesto 3: Otra forma de calcular los valores de las integrales del ejemplo anterior consiste en, partiendo del valor de I n obtener los valores de las integrales precedentes. Más concretamente, si se conociera el valor de I n se tendría que: n sen() cos() In I n = -cos() + n sen() n (n-) I n- In = n (n ) Por otra parte, para obtener una aproximación A n de I n se puede razonar como sigue: al ser el integrando, x n sen(x), una función no negativa en [0, ] se 9

12 Errores de redondeo Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid verificará que 0 < I n. Además como en [0, ] se verifica que 0 < sen(x) < se tiene que: 0 n In x dx 0 < < = n + En otros términos una cota del valor positivo de la integral I n es el valor /(n+). La figura siguiente recoge el grafo de las funciones x n sen(x) para diversos valores de n, poniendo de manifiesto el hecho de que a medida que crece el valor del exponente n menor es el área encerrada entre el grafo y el eje de abscisas. Las desigualdades anteriores nos indican que si se toma como valor aproximado de I n el valor A n = 0 se comete un error δ n menor que /(n+). Se pide que, tomando como valor aproximado de I 0 el valor A 5 = 0, y el de A 4 =0, calcules mediante el proceso iterativo en retroceso anteriormente descrito, y truncando las cifras a 0 dígitos, las aproximaciones A 3, A, A,..., A. Siendo δ 5 el error cometido al aproximar I 5 por A 5, y δ 4 el error cometido al aproximar I 4 por A 4, analiza teóricamente cómo evolucionará el error cometido con las aproximaciones que se vayan calculando. Los valores del error que determinaste son acordes con el análisis del error realizado? 0

13 Programación y Métodos Numéricos Errores de redondeo Ejemplo 3º: El siguiente ejemplo pretende ilustrar como la falta de precisión en los cálculos intermedios de un proceso puede conducir a resultados erróneos. En efecto, consideremos el sistema de ecuaciones con dos incógnitas: 98 x x = x +.0 x = La única solución de este sistema es: x =, x = -. Si los coeficientes del sistema se evalúan redondeándolos en su tercera cifra decimal se tendría el sistema: x x = x +.00 x =.343 cuya solución también sigue siendo x =, x = -. No obstante, si el sistema se resuelve mediante el método de eliminación gaussiana (esto es, dejando la primera ecuación como está y restándole a la segunda ecuación la primera multiplicada por y dividida por ) redondeando los valores intermedios con tres decimales, se obtiene: x x = x + ( ) x = ( ) x x = x + ( ) x = ( ) x x = x + ( ) x = ( ) x x = x + ( 0.048) x = 0.09 De la segunda de estas ecuaciones se tiene que:

14 Errores de redondeo Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid 0.09 x = = y, entrando con este valor en la primera ecuación: x = = = = En resumen, la falta de precisión en los resultados de las operaciones nos ha conducido a una solución del sistema que nada tiene que ver con la solución exacta del mismo. Los errores absolutos que se cometen al representar un número z por una aproximación z del mismo con s decimales no permiten tener una idea sobre la precisión del sistema de representación numérica utilizado. En efecto no es lo mismo cometer un error ε al representar un número con un valor absoluto elevado que cometer el mismo error al representar un número de valor absoluto muy pequeño. Por ilustrar con un símil este hecho piénsese que si se apunta con un rayo láser a la superficie de Marte y se logra impactar con él a cm del objetivo marcado, muy probablemente se opine que el error ha sido mínimo. Por el contrario, si el cirujano que opere de cataratas a un paciente desvía el rayo láser cm. de la zona dañada causará un importante daño en el ojo del paciente. En ambos casos el error es de cm. pero mientras que en el primero se produce en varias decenas de millones de kilómetros, en el segundo tiene lugar en pocos centímetros. Es por ello que para tener una mayor información sobre la importancia del error cometido en cualquier proceso de cálculo, junto al error absoluto, debe contemplarse el error relativo (o en tanto por uno ). En lo que a errores en la representación de números se refiere, denotando por z al valor exacto de un número y por z a la aproximación que de él se tenga, definiremos estos dos tipos de error como sigue: y: Error absoluto: E a = z - z z z Error relativo: E = z z 0

15 Programación y Métodos Numéricos Errores de redondeo. LA NOTACIÓN CIENTÍFICA Y LA REPRESENTACIÓN EN COMA FLOTANTE NORMALIZADA DE NÚMEROS REALES EN BASE 0... La notación científica decimal. La representación de los números en base 0 conservando un número prefijado de decimales, tal y como se hizo en los ejemplos del apartado anterior, no es la que se utiliza habitualmente en cálculo científico. Ello se debe a que el número de dígitos de cada cifra manejada no es el mismo para almacenar números grandes que pequeños. Por ejemplo, si se trabajase truncando a tres decimales, la representación del número sería , habiéndose empleado 8 dígitos, mientras que el número se representaría como 0.3, utilizándose sólo 4 dígitos para representarlo. Si en el segundo número se hubieran utilizado 8 dígitos el número representado sería , mucho más preciso que el anterior. Por ello la forma estandarizada para representar números decimales (z) parte de su expresión en notación científica, es decir en la forma: z = ± 0.d d...d s d s e donde e es un número entero y los dígitos d d...d s d s+... son tales que 0 di 9 (i =,,...) y además: d 0 z 0, siendo el número z = 0 el único para el que se admite que d = 0. En la notación científica de un número a ( ± 0.d d...d s d s+...) se le denomina mantisa del número y al número entero e al que aparece elevada la base 0 se le denomina exponente. Ejemplos: º) El número 7/3 es Su expresión en notación científica es: , siendo la mantisa y siendo el exponente. º) El número 7 /77 se corresponde con el número real y en notación científica se expresará por: , siendo la mantisa y el exponente -. Como se puede comprobar en los ejemplos anteriores, para expresar un número real no nulo en notación científica basta con desplazar la coma 3

16 Errores de redondeo Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid decimal hasta ubicarla a la izquierda del primer dígito significativo, multiplicando el número resultante por 0 e, donde e es el número de dígitos que se ha desplazado la coma decimal precedido del signo + si el desplazamiento se realiza hacia la izquierda y del signo - si dicho desplazamiento se realiza hacia la derecha. Este desplazamiento de la coma decimal motiva que esta forma de representar los números sea conocida, además de por el nombre de notación científica, como representación en coma flotante... La representación en coma flotante normalizada decimal. La notación científica que se acaba de describir utiliza mantisas que para muchos números pueden tener infinitos decimales. Piénsese por ejemplo en la representación en notación científica de números tales como /3, π, 3,... o en general cualquier número irracional o periódico. Obviamente tales números no pueden ser escritos de forma exacta en notación científica. Por eso en tales casos es necesario aproximarlos por otros que tienen mantisas formadas por un número finito de dígitos. Además, si nos fijamos en los exponentes tampoco es viable, en la práctica, admitir que puedan ser tan elevados como se quiera. Piénsese por ejemplo que si se quisiera manejar el exponente e = necesitaríamos 964 dígitos para escribirlo ( más de 95 líneas con 00 dígitos cada una de ellas!!!). Es por ello que en una hipotética 3 máquina de calcular el valor máximo y mínimo de los exponentes también debe ser fijado. De forma más concreta, partiendo de la notación científica de los números, los sistemas de representación decimal en coma flotante decimal normalizada consisten en conjuntos finitos de números formados por todos aquellos números que en notación científica: a) Tienen mantisas con sólo s dígitos decimales. b) Tienen exponentes cuyo valor está comprendido entre un valor mínimo (m) y un valor máximo (M): m e M. 3 Decimos hipotética pues las máquinas no utilizan la base 0 para representar los números que manejan. 4

17 Programación y Métodos Numéricos Errores de redondeo Tales sistemas de números los representaremos con la notación F(s+, m, M, 0) donde s indica el número de decimales usados para la mantisa 4, m y M los valores máximo y mínimo que se permite tomar al exponente y 0 que se está trabajando con números expresados en base 0. NOTAS: ª. A estos conjuntos de números se les denomina también sistemas de representación científica decimal normalizada o conjunto de números máquina F(s+, m, M, 0). ª. Obsérvese que sólo con las reglas a) y b) el número z = 0 puede representarse de múltiples maneras (± e donde e es cualquiera de los exponentes permitidos. En las máquinas de cálculo ello representaría un desperdicio de su capacidad de representación de números. Por ello en tales máquinas al número real z = 0 se le representa de otras maneras; por ejemplo asignando para representar al real nulo el número m. Ello permitiría optimizar los dígitos disponibles para almacenar otros números. No obstante como las máquinas trabajan con números expresados en bases que no son la base 0, insistiremos en este aspecto más adelante cuando nos ocupemos de la representación numérica en base..3. El conjunto finito de números de un sistema decimal en coma flotante normalizada. Adviértase que si se trabaja con los números de un sistema de representación en coma flotante normalizada F(s+, m, M, 0) en el que las mantisas tienen s dígitos decimales y los exponentes están comprendidos entre un valor mínimo m y un valor máximo M, sólo se dispone de una cantidad finita de números, o lo que es lo mismo, sólo se representarán sin error alguno un número finito de números reales. Ejemplo: Si se considera el sistema decimal de representación en notación científica normalizada F(,, -, 0) en el que s = (sólo un dígito decimal) y el valor de los exponentes se limita por e, los únicos números existentes en el sistema serán: 4 En la notación del sistema F(s+, m, M, 0) hemos escrito s+ pues en la práctica se almacenarían los s decimales de la mantisa más, en otra posición adicional, el signo de la misma. 5

18 Errores de redondeo Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid ± , ± , ± ,..., ± , ± , ± , ± , ± ,..., ± , ± , ± 0. 0, ± 0. 0, ± 0.3 0,..., ± 0.8 0, ± más el número 0 que se representa de otra forma. Es decir sólo existen 55 números distintos en este sistema. El mayor de todos ellos es = 9 y el menor número estrictamente positivo es = 0.0. Además, la distancia entre dos números consecutivos no siempre es la misma: los números positivos con exponente - distan del siguiente 0.0, los que tienen exponente 0 distan del siguiente 0. y los números positivos con exponente distan del siguiente. Ejercicio propuesto 4º: Demuestra que en un sistema de representación en notación científica normalizada F(s+, M, m, 0), con s dígitos para la mantisa y con exponentes limitados por las desigualdades: m e M (siendo m 0 y M 0), existe un número de valores que pueden representarse sin error alguno dado por la expresión: [8 0 (s-) ] (+M-m) +. La existencia de un número finito de valores en un sistema F(s+, m, M,0) hace que diferentes números reales deban aproximarse por un mismo número máquina del sistema. Ejemplo: Si se trabaja en el sistema F(5, 5, -5, 0), con s = 4 dígitos decimales en las mantisas y se sigue un procedimiento de truncado, todos los números z [0.00, 0.00[ se representan como z = Así, serían aproximados por el mismo número máquina tanto como Si con el mismo número de dígitos para la mantisa se optara por redondear, se aproximarían por todos los números z [0.0005, 0.005[. Otra consecuencia práctica de que el conjunto de números máquina tenga un número finito de elementos es que, considerando sólo los que son estrictamente positivos, habrá un número máquina positivo mayor y un número 6

19 Programación y Métodos Numéricos Errores de redondeo máquina positivo menor. Similares razonamientos se podrían realizar si se consideran los números máquina negativos. Más concretamente, en un sistema de números máquina F(s, m, M, 0) el mayor número positivo es: C M = M y el menor número estrictamente positivo es: c m = m. En otros términos: C s M i M = 9 0, c m = 0 m i= La distancia existente entre dos números máquina consecutivos se determina en la siguiente propiedad. Propiedad. Siendo z un número máquina estrictamente positivo del sistema F(s+, m, M, 0) cuya representación en coma flotante sea: z = 0.d...d s 0 e y denotando por w al menor número máquina superior a z se verifica que: w z= 0 e-s Demostración: Siendo z = 0.d...d s 0 e el siguiente número máquina w es: por lo que: e e w = 0.d...ds d s w z = = 0 = 0 e e s e s c.q.d..4. Truncado y redondeo de números reales en coma flotante. Los procedimientos más habituales para aproximar la mantisa de un número real z de la forma z = ± 0.d d...d s d s e por la del número normalizado z de F(s+, m, M, 0), con s dígitos de mantisa, suelen ser: Truncado: Se toman los s primeros dígitos de la mantisa de z: z z = ± 0.d d...d 0 e s 7

20 Errores de redondeo Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid Redondeo: Según el valor del primer dígito decimal que se desprecia en la mantisa, dígito d s+, se procede como sigue: e ± 0.dd...ds 0 si ds+ < 0.5 z z = e ± (0.dd...ds ) 0 si ds+ 0.5 Ejemplos: º) Si se utilizan 4 dígitos para representar la mantisa, el número decimal dado por 7/3 = puede representarse: Truncando: z = Redondeando: z = º) Utilizando 5 dígitos para representar la mantisa, el número decimal dado por: 7 / 77 = , se representa por: Truncando: z = Redondeando: z = Si se utilizaran 6 dígitos para las mantisas las representaciones numéricas correspondientes serían: Truncando: z = Redondeando: z = Ocupémonos ahora de acotar los errores absoluto y relativo que se cometen al aproximar un número real z por un número normalizado z. Propiedad. Siendo z la representación decimal en coma flotante normalizada con s dígitos de mantisa obtenida por truncamiento del número real z, y denotando por e al exponente obtenido al expresar z en notación científica, se verifica que: E a = e s z z 0 E = z z z s 0 z 0 8

21 Programación y Métodos Numéricos Errores de redondeo Demostración: Sea z = ± 0.d d...d s d s e y sea z = ± 0.d d...d s 0 e. Se tiene que: E a = e s e z z = 0.d d...d d... 0.d d...d 0 = 0.d = s s+ s s+ = 0.d = 0 s+ e s e s e s y, si z 0: E = e s s s z z = = 0 e z 0.dd...dsd s dd...dsd s s c.q.d. Propiedad 3. Siendo z la representación decimal en coma flotante con s dígitos de mantisa obtenida por redondeo del número real z, y denotando por e al exponente obtenido al expresar z en notación científica, se verifica que: E a = e s z z 0 E = z z 0 s z 0 z Demostración: a) Examinemos en primer lugar los errores absolutos. Y consideremos primero el caso en que z = ± 0.d d...d s d s e, es un número tal que el dígito d s+ de su mantisa verifica que ds+ < 5. En esta situación z = ± 0.d d...d s 0 e por lo que: E a = e s e z z = 0.d d...d d... 0.d d...d 0 = 0.d = s s+ s s+ = 0.d s = 0 e s e s e s 9

22 Errores de redondeo Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid Si ahora se contempla el caso en que el dígito d s+ es tal que ds+ 5 se tiene que: E a = e z z = 0.d d...d d... (0.d d...d ) 0 = s s+ s = ( 0.d...) 0 0 = 0.d = 0 s e e s e s e s s+ s+ b) Teniendo en cuenta la acotación de los errores absolutos, para el error relativo se tiene que, si z 0: e s s s z z E = = = 0 e z 0.d d...d d d d...d d s s+ s s+ s c.q.d..5. La unidad de redondeo en coma flotante decimal. Las acotaciones del error relativo realizadas en las dos propiedades anteriores pueden sintetizarse diciendo que, siendo z la aproximación utilizada al representar el número z con s dígitos de mantisa, se verifica que: z z u z 0 z donde al número u se le denomina unidad de redondeo del sistema F(s+, m, M, 0), y que toma el valor 0 -s si se aproxima por truncado o el valor (½) 0 -s si se aproxima redondeando. En todo caso se tiene que: z z =δ z = ( +δ ).z con δ u z Puede observarse que la unidad de redondeo (cota del error relativo) es tanto menor cuanto mayor es el valor del número de dígitos decimales de la mantisa ( s ) siendo independiente el exponente del número z con el que se trabaje, esto es de la magnitud del número. NOTA: Las dos propiedades demostradas en el apartado anterior también nos indican que el valor absoluto del error absoluto cometido al representar un e s número puede acotarse por γ 0 donde γ = si se actúa por truncamiento o γ = ½ si se procede mediante redondeo. En todo caso, la cota del error absoluto será mayor cuanto mayor sea (e s), es decir que se incrementa con el exponente e del número a aproximar, es decir cuanto mayor sea el valor 0

23 Programación y Métodos Numéricos Errores de redondeo absoluto del número que se quiera representar, y decrece a medida que se permiten usar más dígitos en la mantisa. Ejercicio propuesto 5º: Siendo u la unidad de redondeo, demuestra que u es el número más pequeño de la forma 0 -k para el que se verifica que (+u) no se representa en la forma Los errores de overflow y de underflow. Como ya se señaló anteriormente, una consecuencia de que el conjunto de números máquina tenga un número finito de elementos es que, existe un número máquina positivo mayor (C M ) y un número máquina positivo menor (c m ). Ello hace que exista un número real tal que los números reales superiores o iguales a él no se pueden aproximar por un número máquina del sistema F(s+, m, M, 0). Y de forma análoga existe un valor real positivo tal que los números reales positivos inferiores a él o bien son aproximados por el número 0 o bien no se pueden aproximar por ningún número del sistema F(s+, m, M, 0). Similares razonamientos se podrían realizar si se consideran los números máquina negativos. Si se actuase mediante la técnica de truncado, cualquier número real con exponente M y con sus s primeros dígitos de mantisa iguales a 9 sería aproximado por el número máquina C M independientemente de cuales fueran los dígitos decimales despreciados en la mantisa. Por tanto el menor número positivo que no podría representarse por un número máquina del sistema F(s+, m, M, 0) sería M+. Análogamente, si se actuase mediante la técnica de redondeo, se aproximarían por el número máquina C M todos aquellos números reales con exponente igual a M y con mantisas cuyos (s+) primeros dígitos decimales estuvieran comprendidos entre y , independientemente de cuales fueran los dígitos decimales posteriores de la mantisa. Por tanto el menor número positivo que no podría representarse por un número máquina del sistema F(s+, m, M, 0) sería M. Dígito decimal (s+)

24 Errores de redondeo Carlos Conde, Arturo Hidalgo y Alfredo López ETSI Minas de la Universidad Politécnica de Madrid En resumen, para cada sistema de números máquina F(s+, m, M, 0) y para cada técnica de aproximación utilizada, existe un número real, denotado por N overflow, tal que los números reales de mayor o igual valor absoluto no pueden representarse por un número del sistema F(s+, m, M, 0). Este número real está dado por M (Truncado) Noverflow = M (Redondeo) (s+) decimales Cuando en una máquina de calcular 5 se intenta representar un número real z tal que z N overflow se produce un error que se denomina error de overflow (que algunos autores castellanizan como error de desbordamiento) interrumpiéndose el proceso de cálculo que se esté siguiendo. De forma similar, si se actúa por truncado se representarán por el número c m todos aquellos números reales positivos tales que, teniendo por exponente m tengan los s primeros dígitos decimales de su mantisa idénticos a los de c m. Por tanto el menor valor positivo que puede representarse mediante truncado por un número máquina no nulo de F(s+, m, M, 0) será m (= c m ). Si la técnica de aproximación de números elegida fuese el redondeo, se aproximarían por c m todos aquellos números reales z tales que: m- z < m (s+) decimales (s+) decimales Por tanto el menor valor positivo que puede representarse mediante redondeo por un número máquina estrictamente positivo de F(s+, m, M, 0) será m-. En resumen, para cada sistema de números máquina F(s+, m, M, 0) y para cada técnica de aproximación utilizada, existe un número real, denotado por n underflow, tal que los números reales de menor valor absoluto no pueden representarse por un número no nulo del sistema F(s+, m, M, 0). Este número real está dado por 5 Tal máquina no es una máquina real pues los ordenadores actuales no operan en base 0 sino que lo hacen en aritmética binaria, octal o hexadecimal.

25 Programación y Métodos Numéricos Errores de redondeo N m 0. 0 (Truncado) = (Redondeo) underflow m (s+) decimales Cuando en una máquina de calcular 6 se intenta representar un número real z tal que z < n underflow o bien se produce un error que se denomina error de underflow interrumpiéndose el proceso de cálculo que se esté siguiendo, o bien se aproxima tal número por el número máquina nulo. 6 Insistimos en que se trataría de una máquina hipotética que trabajase en base 0, cosa que no es lo que sucede en los ordenadores actuales. 3

26 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid 3. LA NOTACIÓN CIENTÍFICA Y LA REPRESENTACIÓN EN COMA FLOTANTE NORMALIZADA DE NÚMEROS REALES EXPRESADOS EN BASE. Los ordenadores y las calculadoras almacenan los números con los que trabajan en memorias construidas con componentes electrónicos elementales (llamados bits) que pueden tener dos estados (en tensión o sin tensión, cargados o descargados, magnetizados o desmagnetizados, activos o pasivos,...). A uno de dichos estados se le denotará como 0 y al opuesto como. Es por ello que la mayor parte de las máquinas de cálculo científico trabaja en binario, es decir representando los números en la base de numeración, en la que los dígitos sólo pueden tomar los valores 0 ó. Por este motivo resulta necesario trasladar cuanto hemos visto en el apartado anterior a la aritmética binaria. NOTA: Pese al comentario anterior ciertos fabricantes consideran grupos de 3 o 4 bits y representan los números en base 8 (octal) o en base 6 (hexadecimal). Nosotros sólo detallaremos en este tema lo concerniente a la codificación binaria y nos limitaremos en alguna de las Notas sucesivas a describir la extensión de lo que se diga a otras bases de numeración. La justificación detallada de esas extensiones pueden constituir buenos ejercicios propuestos para el lector. 3.. Expresión en base de un número entero no nulo. Siendo z 0 un número entero no nulo dado en base 0 su expresión en base, z, se determina por un conjunto de (p+) dígitos de la forma b...b b ), precedidos del signo que tenga z 0, tales que se verifica que: ( p p b i = 0 ó (i =,..., p), z = + b b + b p p 0 0 p p Ejemplos: º) El número z 0 = 6 se representa en binario por z = 0 ya que: 6 = º) El número z 0 = -09 se representa en binario por z = -00 ya que: -09 = -( ) 4

27 Programación y Métodos Numéricos Errores de redondeo Dado un número entero en base diez, z 0, puede obtenerse su representación binaria, z, de la forma siguiente: Algoritmo (Datos: z 0 ; Resultados: p, {b 0, b,..., b p }) El signo de z es el mismo que el de z 0. Determinar el mayor entero positivo, p, para el que p z 0 b 0 Si p > 0 entonces: y z 0 Para i = 0 hasta i = p- con paso hacer: x Parte entera de (y/) b p-i y x y x fin bucle en i fin condición. Ejemplo: Para representar en binario el número z 0 = -7 se puede proceder como sigue: El signo del número binario será negativo (pues lo es z 0 ). Puesto que: 7 = 8 <7 < 8 = 56, tomaremos p = 7. b 0 Como p > 0 se toma: y 7 i 0, x Parte entera de y 86 i, x Parte entera de y 43 i, x Parte entera de y i 3, x Parte entera de y 0 7 = 86, b 7 = 7 86 = 0, 86 = 43, b 6 = = 0, 43 =, b 5 = 43 =, = 0, b 4 = 0 =, 5

28 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid i 4, i 5, i 6, x Parte entera de y 5 x Parte entera de y x Parte entera de y 0 = 5, b 3 = 0 5 = 0, 5 =, b = 5 =, =, b = = 0, En resumen: z = Ejercicio propuesto 6º: Determina la expresión binaria del número 455. El algoritmo presentado anteriormente está escrito pensando en su programación para que sea ejecutado en un ordenador. Cuando la conversión a binario del número z 0,dado en base 0, se realiza a mano el algoritmo equivalente consiste simplemente en dividir el número z 0 entre obteniendo () un cociente entero, z 0 y un resto (que llamaremos b p y que será 0 ó ) para a () continuación dividir el número z 0 entre obteniendo un nuevo cociente entero z y un nuevo resto b p-. Repitiendo este proceso hasta obtener un cociente () 0 entero igual a la unidad se tiene la expresión del número binario sin más que escribir los cocientes enteros hallados en orden inverso a como han ido apareciendo y precederles de + ó en consonancia con el signo que tenga z 0. Ejemplo: Codifiquemos el número z 0 =. La figura siguiente recoge las sucesivas divisiones entre del número considerado. 6

29 Programación y Métodos Numéricos Errores de redondeo 0 b 7 b b 5 b 3 4 b b b Por tanto () 0 = +b b b 3 b 4 b 5 b 6 b 7 = (+00). = (00) 3.. Expresión en base de un número real de valor absoluto inferior a. Siendo z 0 un número real tal que < z 0 < dado en base 0 su expresión en base, z, se determina por un conjunto de dígitos de la forma 0.c...c c..., precedidos del signo que tenga z 0, tales que se verifica que: p p c i = 0 ó (i =,,..., p,.) z = c + c c +... p 0 p En general la expresión binaria de los reales con valor absoluto inferior a estará formada por infinitos dígitos. Sólo son excepción de este hecho aquellos números reales que puedan expresarse como una suma finita de potencias negativas de. 7

30 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid Ejemplos: º) El número 0.85 puede expresarse como: por lo que su expresión binaria es: 0.0. º) El número 0.37 no puede representarse de forma exacta con un número finito de dígitos en base ya que: 0.37 = por lo que su expresión binaria es , teniendo infinitos dígitos. Por este motivo en la codificación de números reales no nulos de valor absoluto inferior a la unidad sólo se identificarán los (p + ) primeros dígitos significativos del número, es decir los p primeros dígitos que siguen al primer dígito cuyo valor sea la unidad. En otros términos, se buscará el número binario de la forma: c c...c p... tal que: posición r z 0 = (+ c - + c c p -p +.) -r El valor de la posición r y de los p dígitos siguientes pueden determinarse mediante el siguiente algoritmo: Algoritmo (Datos: z 0,p; Resultados: r, {c 0, c,..., c p }) El signo de z es el mismo que el de z 0. Determinar el menor entero positivo, r, para el que -r z 0 c 0, y z r 0 Para i = hasta i = p con paso hacer: x y c i Parte entera de (x) y x - c i fin bucle en i. 8

31 Programación y Métodos Numéricos Errores de redondeo Ejemplos: º. Obtengamos la expresión binaria, con 8 (= 7 + ) dígitos significativos, del número decimal Para ello fácilmente se comprueba que r = ya que - = 0.5 < Por tanto tomaremos c 0 e y = Tras ello, de forma iterativa, realizaremos las siguientes operaciones: i, x 0.65 =.50, c, y 0.5 i, x 0.5 = 0.5, c 0, y 0.5 i 3, x 0.5 =.0, c 3, y 0.0 i 4, x 0. = 0., c 4 0, y 0. i 5, x 0. = 0., c 5 0, y 0. i 6, x 0. =., c 6 0, y 0. i 7, x 0. =., c 7 0, y 0. En resumen, el número se corresponde con: Posición del primer bit significativo r= C 0 C C... C 7 º. Obtengamos la expresión binaria, con 0 (= 9 + ) dígitos significativos, del número decimal 0.. Para ello fácilmente se comprueba que r = 4 ya que -4 = < 0. < -3 = 0.5. Por tanto tomaremos c 0 y asignaremos a la variable y el valor y = Tras ello, de forma iterativa, realizaremos las siguientes operaciones: i, x 0.79 =.584, c, y i, x =.68, c, y 0.68 i 3, x 0.68 = 0.336, c 3 0, y i 4, x = 0.67, c 4 0, y 0.67 i 5, x 0.67 =.344, c 5, y i 6, x = 0.688, c 6 0, y i 7, x =.376, c 7, y i 8, x = 0.75, c 8 0, y 0.75 i 9, x 0.75 =.504, c 9, y

32 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid En resumen, el número se corresponde con: Posición del primer bit significativo r= C 0 C C... C 0 Ejercicio propuesto 7º: Determina la expresión binaria del número /30 con dígitos significativos. El algoritmo º está escrito para que sea inmediata su implementación en un programa informático que permita transformar números en base 0 a números en base. Cuando se va a operar a mano puede resultar más sencillo proceder a multiplicar el valor absoluto del número dado, z 0, por obteniendo un nuevo número cuya parte entera nos proporcionará el primer dígito binario que debe colocarse tras el punto decimal en la expresión binaria buscada. Volviendo a multiplicar por la parte decimal del valor hallado y procediendo de la misma manera se obtendrá el segundo dígito binario decimal. La repetición de este proceso nos permitirá determinar tantos dígitos decimales binarios como se desee. Ejemplo: Determinemos la expresión binaria del número z 0 = Por ser el número dado negativo su expresión binaria comenzará en la forma Para determinar el primer dígito decimal multipliquemos z 0 = 0.74 por, obteniendo: 0.74 = Al ser la parte entera del valor resultante igual a 0, la expresión binaria de z 0 será de la forma: z = Volvamos a multiplicar la parte decimal del número obtenido por para sí obtener: = Al ser la parte entera del valor resultante igual a 0, la expresión binaria de z 0 será de la forma: z = Volvamos a multiplicar la parte decimal del número obtenido por para sí obtener: =.39 Al ser la parte entera del valor resultante igual a, la expresión binaria de z 0 será de la forma: z = Volvamos a multiplicar la parte decimal del número obtenido por para sí obtener: 0.39 =

33 Programación y Métodos Numéricos Errores de redondeo Al ser la parte entera del valor resultante igual a 0, la expresión binaria de z 0 será de la forma: z = Volvamos a multiplicar la parte decimal del número obtenido por para sí obtener: =.568 Al ser la parte entera del valor resultante igual a, la expresión binaria de z 0 será de la forma: z = Volvamos a multiplicar la parte decimal del número obtenido por para sí obtener: =.36 Al ser la parte entera del valor resultante igual a, la expresión binaria de z 0 será de la forma: z = El proceso puede continuarse tantas veces como sea necesario hasta determinar todos los decimales binarios que se deseen Expresión binaria en coma flotante de números reales. Sabiendo obtener las expresiones binarias de números enteros no nulos y de números reales de valor absoluto inferior a la unidad, la expresión binaria de cualquier número real no nulo puede realizarse uniendo ambos procesos (y si el número a expresar en binario fuese 0 su expresión binaria es, evidentemente, 0) 7. Ejemplo: La expresión binaria del número 7. puede obtenerse expresando en base la parte entera, -7, como se hizo en el ejemplo con el que se ilustró el algoritmo º y añadiendo como parte decimal la expresión binaria de 0. obtenida en el segundo de los ejemplos con que se ilustró el algoritmo º. Concretamente: Base 0 Base (-0.) = En el ejercicio resuelto nº 5 puede encontrarse un algoritmo y un programa en MAPLE que codifica en binario números decimales según lo que se expondrá en este apartado. 3

34 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid Pero, de forma análoga a lo expuesto al trabajar en base 0, no es habitual expresar los números binarios conservando sus s primeros decimales. En su lugar se opta por conservar los s primeros dígitos significativos. Ello se acompaña de la representación de los números binarios con la técnica de coma flotante, es decir desplazando el punto decimal hasta la derecha del primer dígito significativo e introduciendo para compensar este desplazamiento de la coma un exponente entero igual al número de dígitos que se hayan saltado al trasladarla, con signo negativo si el punto decimal se ha movido hacia la derecha y con signo positivo si se movió hacia la izquierda. Con ello los números binarios no nulos expresados en coma flotante tendrán la forma: ±.d d...d s d s+... e donde los dígitos d i son enteros verificando 0 d (i =,,..., s, s+,...) y e es un número binario entero. i En esta expresión a ( ±.d d...d s d s+...) se le denomina mantisa y al número e se le denomina exponente. 8 Ejemplos: º) Según se detalló en el ejemplo anterior, el número decimal 7. se escribía en base en la forma Su representación en coma flotante será: = = º) En otro de los ejemplos anteriormente realizados se obtuvo que el número decimal 0.85 se expresaba en binario como: 0.0. Su representación binaria en coma flotante será:.0 -. NOTAS: ª) Los números expresados en binario tienen su exponente e en binario. No obstante en muchas ocasiones, para facilitar el seguimiento de los cálculos que realicemos expresaremos tal exponente como un exponente entero en base 0 contentándonos en dichos casos con expresar en binario tan sólo la mantisa de los números con los que trabajemos. 8 Obsérvese que, a diferencia de lo que se citó en el caso de trabajar en base 0, cuando se trabaja en binario las mantisas tienen el dígito a la izquierda del punto decimal no nulo. Este hecho se justifica porque, como se detallará posteriormente, en los ordenadores sólo se almacenará la parte decimal de la mantisa y de esta forma se puede ahorrar el espacio de memoria que ocuparía el que precede al punto decimal. 3

35 Programación y Métodos Numéricos Errores de redondeo ª) El número 0 es el único número que tiene una representación diferente al ser nula la parte entera de la mantisa. 3ª) En otras bases diferentes los números se representan de forma análoga. En efecto, siendo β un entero estrictamente positivo, la forma de representar un número decimal z 0 según la técnica de punto flotante en base β consiste en e escribirlo como: ± 0.d d d 3...d s d s+... β donde los dígitos de la mantisa son enteros tales que 0 di β (i =,..., s, s+,...) y además d 0. Ejercicio propuesto 8º: Escribe un algoritmo que permita determinar la expresión en base 8, z 8, de un número decimal. Extiende el algoritmo a cualquier base entera β Truncamiento y redondeo de números binarios expresados en coma flotante. Al igual que sucedía al trabajar en base 0, cuando se manipulan números binarios expresados en coma flotante no se pueden manejar infinitos dígitos en la mantisa. Por ello en las máquinas de calcular se toman en consideración sólo mantisas con s dígitos tras el punto decimal que sigue al primer dígito. Un número binario genérico debe aproximarse entonces por otro cuya mantisa sólo contenga s dígitos en su parte decimal. Las técnicas más comunes para proceder a realizar esta aproximación son las conocidas con los nombres de truncado y redondeo 9. De ellas pasamos a ocuparnos a continuación. En ambos casos denotaremos por z a un número binario expresado en coma flotante como: z = ±.d d...d s d s+... e. Truncado: El número z se aproxima por z = ±.d d...d s e. Redondeo: El número z se aproxima por: e ±.dd...ds si ds+ = 0 z = ± + e (.d d...ds ) si ds+ = s dígitos decimales donde la suma que aparece en el caso de ser d s+ = se entiende que es en aritmética binaria. 9 Algunos fabricantes de máquinas de computación utilizan técnicas de aproximación de números binarios diferentes al truncado o al redondeo que aquí se consideran. 33

36 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid NOTA: Recuérdese que la suma en aritmética binaria sigue la mismas reglas que la suma en base 0. Más concretamente la suma de los números binarios 0.d d...d i- d i...d s y 0.b b...b i- b i...b s se realiza dígito a dígito empezando por los de más a la derecha y verificándose que d i + b i = si uno de ellos tiene valor 0 y el otro valor mientras que d i + b i = 0 si ambos dígitos tienen el mismo valor y, además, en el caso de que ambos dígitos tengan valor, su suma vale 0 pero nos llevamos para la suma de los dígitos d i- + b i- Ejemplo: El número binario (que era la expresión binaria en coma flotante del número decimal 7.) puede aproximarse con dígitos decimales en la mantisa (hasta d ) obtenida por truncado mediante el número: z = (que se corresponde realmente con 7.065) Si en lugar de truncar se redondea, puesto que d =, se tendrá el número: z = -( ) 7 = que se corresponde en realidad con el número 7.5. Ocupémonos en primer lugar de acotar el error cometido al aproximar un número binario genérico por otro en el que la mantisa sólo tiene s dígitos decimales. Propiedad 4. Siendo z = ±.d d...d s e el número binario en coma flotante con s decimales de mantisa que aproxima mediante la técnica de truncado al número binario z = ±.d d...d s d s+... e, se verifica que: E a = e s z z z z E = z Demostración: s z 0 Sea z = ±.d d...d s d s+... e y sea z = ±.d d...d s e. Se tiene que: E a = e s e z z =.d d...d d....d d...d = 0.d... = s s+ s s+ 34

37 Programación y Métodos Numéricos Errores de redondeo y, si z 0: E = = e s e s 0.d s+... e s s z z = e z.dd...dsd s+....dd...dsd s+... s c.q.d. Propiedad 5. Siendo z la representación binaria en coma flotante con s decimales de mantisa obtenida por redondeo del número binario z = ±.d d...d s d s+... e, se verifica que: E a = e s e s z z = E = z z s s = z 0 z Demostración: a) Examinemos en primer lugar los errores absolutos. Y consideremos primero el caso en que z = ±.d d...d s d s+... e, es un número tal que el dígito d s+ de su mantisa verifica que d s+ = 0. En esta situación z = ±.d d...d s e por lo que: E a = e s e z z =.d d...d 0d....d d...d = 0.0d... = s s+ s s+ = 0.d... s+ e s e s Si ahora se contempla el caso en que el dígito d s+ es tal que d s+ = se tiene que: E a = e z z = (.d d...d ).d d...d d... = s s s+ = ( 0.d...) = d... = d... s e e s e s s+ s+ s+ 0. = = e s e s e s b) Teniendo en cuenta la acotación de los errores absolutos, para el error relativo se tiene que, si z 0: 35

38 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid E = e s s z z = e z.dd...dsd s+....dd...dsd s+... s c.q.d. NOTA: Las propiedades anteriores demuestran que la cota de error relativo es independiente de la magnitud del número z que se aproxima. No obstante la cota del error absoluto es menor al aproximar números pequeños en valor absoluto que números grandes en valor absoluto (puesto que el exponente de los primeros es menor que el de los segundos). Ejercicio propuesto 9º: Utilizando la base de numeración β (y suponiendo que β es un número par) las mantisas pueden aproximarse también por truncado (eligiendo los s primeros dígitos) o por redondeo esto es tomando e como aproximación del número z = ± 0.d...d s d s+... β el número: e β ± 0.dd...ds β si ds+ < z = e β ± (0.dd...ds ) β si ds+ Demuestra que si se utiliza la base de numeración β en coma flotante y se aproximan los números con mantisas de s dígitos decimales, el error relativo s utilizando la técnica de truncado está acotado por β mientras que si se utiliza s la técnica de redondeo esta cota es β La unidad de redondeo en coma flotante binaria. Según se acaba de demostrar en las dos propiedades anteriores, se verifica que siendo z un número binario y siendo z su aproximación en coma flotante con s dígitos decimales de mantisa: s z z truncando z 0: u= s z redondeando A este valor u se le denomina unidad de redondeo del sistema en coma flotante binario con s dígitos decimales de mantisa.para cualquier número binario se verifica de esta forma que: z = z ( +δ ) con δ u 36

39 Programación y Métodos Numéricos Errores de redondeo 3.6. La codificación binaria de números en equipos de cálculo. Como ya se dijo anteriormente las calculadoras y ordenadores que trabajan en aritmética binaria destinan un número finito de bits (componentes que pueden tener el estado 0 o el estado ) para codificar los números. Examinemos con mayor detalle el proceso que se sigue para esta codificación Codificación binaria de números enteros. Si se trata de codificar números enteros se asignan (s+) bits para almacenar la expresión binaria del número, reservando el primero de dichos bits para almacenar el signo del número (estando normalizado que el estado 0 en el primer bit representa signo positivo y el estado representa signo negativo) 0. De esta forma, al tener (s+) bits para codificar el valor absoluto del número, el mayor entero positivo que se puede codificar es: M =. s- +. s- +. s = s El menor entero que se podría representar sería m = - M = - s +. No obstante según ese criterio el número entero 0 se podría representar de dos formas posibles: y (es decir +0 y -0). Ello se evita asignando la representación que correspondería a +0 al número s. Con ello el rango de valores enteros que permite manipular una máquina con aritmética binaria entera de s bits es ( s +) a s. Ejemplo: Con 8 bits para representar números enteros se pueden representar todos los enteros mayores o iguales que 7 y menores o iguales que 8. Con 3 bits este rango se amplia pudiéndose representar todos los enteros mayores o iguales que y menores o iguales que NOTA: La realidad es un poco más complicada pues las máquinas de cálculo suelen utilizar la técnica de complemento a que consiste en, manteniendo el criterio de los signos, transformar los bits con estado 0 en bits con estado y viceversa. Los motivos de ello exceden los objetivos de este tema (estando relacionados con la fiabilidad de los sistemas de almacenamiento y transmisión de la información) y por ello nos limitaremos a considerar como codificación binaria de números enteros lo que se acaba de exponer. Ello no introduce 0 Son valores frecuentes para el número de bits en este caso s = 8, s = 6 ó s = 3. 37

40 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid restricciones cualitativas sobre cómo se originan y propagan los errores de redondeo al operar con máquinas de cálculo, que es el objetivo principal que perseguimos Codificación binaria de números reales en coma flotante. Para codificar los números reales no nulos expresados en coma flotante binaria, ±.d d d 3...d s- d s d s+... e, las máquinas de calcular destinan (s+) bits para almacenar la mantisa y (t+) bits para almacenar el exponente. Dado que la mantisa de todos los reales no nulos comienza por un este dígito no se almacena y los (s+) bits de la mantisa se destinan para: El primer bit almacena el indicador del signo (un 0 si es positivo y un si es negativo). Los s bits siguientes almacenan los valores de los dígitos decimales binarios de la mantisa: d, d,..., d s. En cuanto a los (t+) bits del exponente se destinan a almacenar la expresión binaria del exponente. Puesto que el exponente es un número entero podría codificarse según lo descrito en el apartado anterior. No obstante las máquinas de cálculo científico utilizan exponentes escalados para evitar la duplicidad en la representación de exponentes nulos (al poderse representar como +0 y como 0). Este procedimiento consiste en representar no ya el exponente e que correspondería al número que se manipula sino el entero e+n, donde n se toma de forma que se asegure la inexistencia de números negativos a codificar como exponentes y se emplean los (t+) bits del exponente para codificar e+n. Ejemplo: Si se utilizan (t+) = 8 bits para codificar los exponentes y se toma como factor de escala n = 7 = 7 un código de exponente que fuese de la forma correspondería en base 0 al número entero 0 y por tanto al exponente m = e min = 0 7 = -7. Análogamente un código de exponente que fuese de la forma correspondería al entero 55 y por tanto al exponente M = e max = 55 7 = 8. El código 0 se correspondería en base 0 con el número entero 7 y, según la técnica de escalado, con el Son valores habituales s = 3 y t = 7 (simple precisión con palabras de 3 bits) o s = 5 y t = 0 (doble precisión con palabras de 64 bits). 38

41 Programación y Métodos Numéricos Errores de redondeo exponente nulo ya que e nulo = 7 7 = 0. Se observa de esta forma que los exponentes de los números codificados con t = 8 bits y factor de escala n = 7 pueden variar entre los valores m = 7 y M = 8. NOTA: No todos los fabricantes de máquinas de cálculo utilizan el mismo factor de escala en el escalado de los exponentes. Utilizando (t+) bits para la representación binaria de los exponentes es frecuente considerar n = t - ó n = t). Es más, algunos fabricantes introducen otras manipulaciones en este proceso de escalado vinculadas al tratamiento de las mantisas que modifican el rango de valores que se permite tomar a los exponentes. Ello conduce a que con un mismo número de bits para la codificación del exponente distintas máquinas tengan rangos de variación de exponentes ligeramente diferentes. Por ejemplo, con (t+) = 8 bits para codificar exponentes las máquinas VAX permiten codificar números con exponentes variando en el rango m VAX = -8 a M VAX = 7 mientras que el estándar IEEE (el más extendido en la actualidad) tiene el rango m IEEE = -5 a M IEEE = 8. Habida cuenta de la diversidad de criterios de los fabricantes y dado que el proceso de escalar los exponentes no será cualitativamente significativo en el hecho de que se produzcan errores de redondeo al codificar números, en estos apuntes se ha optado por realizar una exposición más sencilla considerando que los exponentes se almacenan en (t+) bits, de forma análoga a lo descrito para la codificación de números enteros, reservando el primero de los bits disponibles para el signo y los t restantes para almacenar el código binario del valor absoluto del exponente. Es más, aun a sabiendas de que no es lo mejor, por sencillez permitiremos la duplicidad del exponente 0 y consideraremos en los ejemplos que m = - t y M = t. Fácilmente podrá adaptarse cuanto se diga a otros valores del rango de exponentes. Ejemplo: Con un sistema de (s+) = 4 bits para almacenar la mantisa y de (t+) = 8 bits para el exponente, el número se almacenaría como sigue: Expresión en coma flotante del número: Codificación de la mantisa 39

42 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid Expresión binaria del exponente: ( ) +00 Codificación del número: signo Valor absoluto signo Valor absoluto EXPONENTE MANTISA Si se disponen de (s+) bits para almacenar la mantisa (el primero para su signo y los s restantes para su valor absoluto), el número codificado positivo mayor es: C = ( s ) M = M-s ( (s+) -) Obviamente el menor número codificado es C. Los números reales no nulos codificados con menor valor absoluto que se pueden codificar serían: c = ± ( ) m = ± m En el proceso de codificación descrito, al no guardarse la parte entera de la mantisa, no podría codificarse el número real 0. cuya representación en base es e. Las técnicas de tratamiento de la mantisa nula que corresponde al real 0. son variadas y por ello, sin entrar en detalles, admitiremos que este valor se codifica con un código adicional especial. NOTA: Adviértase que los valores de C y c que se acaban de obtener corresponden a los números codificados no nulos de mayor y menor valor absoluto. Pero no son los números reales de mayor y menor valor absoluto que pueden ser aproximados. Estos se determinarán en función de la técnica de aproximación utilizada (redondeo o truncado). En el quinto ejercicio resuelto de estos apuntes puede encontrarse, sobre un ejemplo concreto, cómo se podrían definir estas cotas utilizando la técnica de redondeo. 40

43 Programación y Métodos Numéricos Errores de redondeo La unidad de redondeo de un sistema de codificación como el descrito (véase el apartado 3.5. considerando que sólo se almacenan s dígitos decimales de la mantisa) está dada por: u = s si se aproxima por truncado s si se aproxima por redondeo Ejemplos: º) Si consideramos (t+) = 8 y si se destinara un bit para almacenar el signo del exponente, quedarían 7 bits para almacenar el valor absoluto de éste. Por ello el mayor exponente que se podría almacenar sería: M = +( ) = +( 7 ) = +7 y el menor: m = -7. Si además (s+) = 4 (3 bits para el valor absoluto de la mantisa y un bit para su signo), el mayor número codificado tiene el valor: C = +( ) 7 = 04 ( 4 -) (del orden de ) y el menor será C. El número codificado estrictamente positivo de menor valor absoluto es: y el negativo será c. c = -7 (del orden de ) La unidad de redondeo de este sistema de codificación sería: Si se aproxima por truncado: u = -3 (del orden de 0-7 ) Si se aproxima por redondeo: u = -4 (del orden de ) º) Si consideramos (t+) = y si se destinara un bit para almacenar el signo del exponente, quedarían 0 bits para almacenar el valor absoluto de éste. Por ello el mayor exponente que se podría codificar sería: M = +( ) = +( 0 ) = +03 y el menor: m =

44 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid Si además (s+) = 53, (5 bits para el valor absoluto de la mantisa y un bit para su signo) el mayor número codificado es: C = +( ) 03 (del orden de ) y el menor será C. El número codificado positivo de menor valor absoluto es: y el negativo será c. c = -03 (del orden de ) La unidad de redondeo de este sistema de codificación sería: Si se aproxima por truncado: u = -5 = (del orden de. 0-6 ) Si se aproxima por redondeo: u = -53 (del orden de. 0-6 ) NOTA: Nuevamente conviene insistir en que las máquinas existentes, aunque se adaptan en líneas generales a lo anteriormente expuesto, introducen algunas técnicas que modifican los valores anteriores. Como ya se señaló el responsable de estas modificaciones es el número 0 tanto en el escalado de los exponentes para evitar la duplicidad del código para el exponente nulo, así como en el tratamiento de la mantisa nula para reservar un código que permita representar al real nulo. Ello hace que las cotas de los números manipulados no sean exactamente las que se obtuvieron en los ejemplos precedentes. En concreto el estándar recogido en la normativa IEEE por el que se rigen la mayor parte (no todos) de los fabricantes de ordenadores opta por la aproximación de redondeo y contempla los sistemas de codificación en binario siguientes: Bits de Bits de Mantisa Exponente M m u Simple precisión Doble precisión Ejercicio propuesto 0º: Obtén la expresión codificada en coma flotante binaria del número , suponiendo que se destinan 3 bits para almacenar el exponente (el primero para el signo) y 9 bits para almacenar la 4

45 Programación y Métodos Numéricos Errores de redondeo mantisa (el primero de ellos para su signo). Obtén la expresión pedida tanto mediante truncado como mediante redondeo. Determina además el valor de la unidad de redondeo de tal sistema de codificación, el valor en base 0 del mayor número número codificado así como el del menor positivo y el del menor negativo Los números máquina binarios. En un sistema de codificación en coma flotante binaria como el que se acaba de describir, utilizándose s bits para los dígitos decimales de la mantisa y en el que el exponente pueda variar entre los valores enteros m y M sólo se pueden codificar sin error los números reales binarios de la forma: e ±.d d...d d m e M d 0, (i =,...,s) s s { } i Estos números expresados en base 0 se corresponden con: ( s ) ± + d + d d s e, m e M, { } d 0, (i =,...,s) i Al conjunto de estos números, más el 0., se le denomina conjunto de números máquina y se representa por F(s+, m, M, ) donde la letra F es la inicial de Flotante (en referencia al sistema en coma flotante), s es el número de dígitos decimales de las mantisas, m y M son el menor y el mayor exponente permitido y indica la base de numeración en la que se trabaja. Ejemplo: En un sistema de codificación binaria en coma flotante con (s+) = 3 y e, el conjunto F(3, -,, ), formado por todos los números que pueden representarse sin error, es: ±.00 -, ±.0 -, ±.0 -, ±. -, ±.00 -, ±.0 -, ±.0 -, ±. -, ±.00 0, ±.0 0, ±.0 0, ±. 0, ±.00, ±.0, ±.0, ±., ±.00, ±.0, ±.0, ±., Obsérvese que el sistema lo hemos representado usando (s+) en lugar de s. Ello es debido a que, como se explicó anteriormente, en las máquinas de cálculo se almacenan los s dígitos decimales de la mantisa más su signo ocupándose así (s+) posiciones elementales de memoria (bits). 43

46 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid Es decir, sólo 4 números reales pueden ser representados sin error en este sistema. Estos números, en base 0 son: F(3, -,, ) = { 0., ± ( - ), ± ( ), ± ( ), ± ( ), ± ( - ), ± ( ), ± ( ), ± ( ), ± ( 0 ), ± ( ), ± ( ), ± ( ), ± ( ), ± ( + - ), ± ( + 0 ), ± ( ), ± ( ), ± ( + 0 ), ± ( 0 + ), ± ( ) } = = {0., ± 0.5, ± 0.35, ± 0.375, ± , ± 0.5, ± 0.65, ± 0.75, ± 0.875, ±.0, ±.5, ±.5, ±.75, ±., ±.5, ± 3., ± 3.5 ± 4., ± 5., ± 6. ± 7.} Propiedad 6. El conjunto de números máquina F(s+, m, M, ) está formado por: números reales distintos. (s+) (M-m+) + Demostración: El número de mantisas que pueden obtenerse combinando s dígitos decimales que sólo pueden tomar los valores 0 ó es s. Como cada mantisa puede ir precedida por el signo + o por el signo, habrá (s+) mantisas distintas. Como a su vez existen (M m + ) exponentes distintos, se podrán formar (s+) ( M-m+) números no nulos. A ellos se les debe añadir el número 0. para obtener el resultado dado en el enunciado. c.q.d. Propiedad 7. El número máquina mayor de F(s+, m, M, ) es: C = M-s ( (s+) -). El menor número máquina de F(s+, m, M, ) es C. Demostración: El número máquina mayor está dado en binario por: se corresponde con el número en base 0 dado por: M... que... s M = ( s ) M-s C = ( ) 44

47 Programación y Métodos Numéricos Errores de redondeo de donde podemos concluir que: C = M-s ( (s+) -). Obviamente, el número menor será C. c.q.d. Propiedad 8. El número máquina estrictamente positivo de menor valor absoluto en el sistema de codificación F(s+, m, M, ) es c = m. El número máquina estrictamente negativo de menor valor absoluto en el sistema F(s, m, M, ) es c. Demostración: El menor número máquina estrictamente positivo será m que en base 0 se corresponde con el número: c = m Obviamente el número estrictamente negativo de menor valor absoluto será c. c.q.d. Ejemplo: En el ejemplo antes desarrollado con (s+) = 3, m = -, M = puede comprobarse que: El conjunto de números máquina está formado por 3 ( (-) + ) + = = 4 números El número mayor de F(3, -,, ) es: Y el número menor es 7. C = - ( 3 -) = ( 8 ) = 7 El número estrictamente positivo de menor valor absoluto es: c = - = 0.5 y el estrictamente negativo de menor valor absoluto es

48 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid Los (s+) (M-m+) + números máquina de F(s+, m, M, ) pertenecen al intervalo [-C, N]. Pero no se encuentran igualmente espaciados. En efecto, la siguiente propiedad establece la distancia entre números máquina positivos consecutivos y fácilmente puede extenderse para los números negativos. Propiedad 9. Sea F(s+, m, M, ) el conjunto de números máquina formados con s bits para almacenar la mantisa (el primero de ellos para el signo de la misma) y con exponentes pertenecientes a [m, M]. La distancia entre un número máquina con exponente e y el menor número máquina que es mayor que él, está dada por e-s. Demostración: Sea n i un número máquina positivo y tal que su exponente sea e. El menor número máquina n i+ positivo superior a n i se obtendrá mediante: n i+ = n i e donde el dígito de la mantisa del segundo sumando ocupa la posición del decimal s. Por tanto: n i+ n i = = = e s e e s c.q.d. Ejemplo: En el sistema F(3, -,, ) detallado en ejemplos anteriores fácilmente se comprueba que la distancia entre números máquina consecutivos del subconjunto: {.00 -,.0 -,.0 -,. -,.00 - } { 0.5, 0.35, 0.375, , 0.5 } es --s+ = --3+ = -4 = La figura siguiente recoge la distribución en [-7, 7] de todos los números máquina de F(3, -,, ). 46

49 Programación y Métodos Numéricos Errores de redondeo Puede observarse que los números máquina de menor valor absoluto están más próximos entre ellos que los de mayor valor absoluto. Ello, además de ilustrar la propiedad 9ª, justifica gráficamente el hecho, demostrado anteriormente en las propiedades 4ª y 5ª, de que la cota del error absoluto que se cometerá al aproximar un número real de alto valor absoluto por un número máquina sea mayor que la que se comete al trabajar con números de pequeño valor absoluto. Si se intenta codificar un número con valor absoluto tal que su aproximación (por redondeo o por truncado) conduce a un número mayor que C (máximo número máquina del sistema F(s+, m, M, )), se produce un error denominado error de overflow. Propiedad 0. Si los números reales se aproximan mediante redondeo por un número máquina del sistema F(s+, m, M, ), se produce error de overflow para todo número real con valor absoluto mayor o igual que: M-s- ( s+ -) Demostración: Puesto que el mayor número máquina es N =... M el error de overflow, aproximando por redondeo, se producirá para todo número real mayor o igual a aquel cuya expresión binaria en coma flotante tenga los s primeros dígitos binarios decimales de su mantisa iguales que los de N y el dígito decimal d s+ igual a siendo nulos todos los demás dígitos de la mantisa. Por tanto dicho número será: 0 s M = M-s- ( s+ -) ( ) c.q.d. 47

50 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid Ejemplo: En el sistema F(3, -,, ) considerado en ejemplos anteriores, el menor número real positivo que produce error de overflow (aproximando por redondeo) es: -3 ( 3+ -) = - (6-) = 7.5 Comprobémoslo. Para ello expresemos como suma de potencias de este número: 7.5 = lo que nos indica que su expresión binaria en coma flotante será:. Si se intenta redondear este número con una mantisa formada por dígitos decimales se tendría el número:.00 3 que no es un número máquina de F(3, -,, ) ya que el exponente sobrepasa el límite superior permitido ( M = ). Sin embargo cualquier número del intervalo [7, 7.5[ tendría el tercer dígito decimal de su mantisa binaria igual a 0 por lo que sí se redondearía a.. Ejercicio propuesto º: Determina el número real positivo a partir del cual se produce error de overflow en un sistema F(s+, m, M, ) si los números reales se aproximan por números máquina mediante truncado. En el caso de intentar codificar un número cuyo valor absoluto se aproxime (ya sea por redondeo o por truncado) por un número inferior a c (menor número máquina estrictamente positivo del sistema F(s+, m, M, )), o bien se asimila a 0 o bien se produce un error denominado error de underflow. Ejercicio propuesto º: Determina los mayores números reales positivos para los que se produciría error de underflow (o asimilación a 0.) en un sistema F(s+, m, M, ) a) si los números reales se aproximan por números máquina mediante truncado b) si los números reales se aproximan por números máquina mediante redondeo. 48

51 Programación y Métodos Numéricos Errores de redondeo 4. PROPAGACIÓN DE ERRORES Los errores que se cometen en la representación de los datos numéricos con los que se quiera inicializar un algoritmo (por ejemplo al redondear o truncar los números π, e, /3,...) pueden amplificarse al redondear los resultados de las operaciones aritméticas que a partir de ellos se realicen en el proceso de cálculo (véanse en este sentido los ejemplos de motivación que se incluyeron en el primer apartado de este tema). Si se quiere analizar rigurosamente la forma en que se propagan los errores es necesario trabajar en la base numérica con la que opere la máquina de cálculo concreta (habitualmente, 8 ó 6). No obstante resulta más sencillo para quien se enfrenta por primera vez a este tipo de análisis poner de manifiesto estos aspectos trabajando en base 0 y, dado que ello no limita la validez cualitativa de los resultados que se obtengan, será en la base 0 en la que ilustraremos el efecto de las operaciones aritméticas sobre los errores de redondeo. En este sentido consideraremos los números máquina decimales de un cierto sistema de codificación F(s+, m, M, 0), es decir todos los números de la forma: ± 0.d d...d s 0 e donde d { 0,,,3,4,5,6,7,8,9} i (i =,..., s), d 0 y m e M. Los ordenadores más comunes realizan las operaciones aritméticas entre números máquina obteniendo los resultados con mantisas de ( s) dígitos decimales y, tras ello, aproximan dichos resultados (ya sea por redondeo o por truncado) por alguno de los números máquina de su sistema (es decir con sólo s dígitos decimales en la mantisa). En esta aproximación del resultado se introduce un error adicional al que ya tuvieran los números que se operan. Debe resaltarse por tanto que en general aparecerá un error al realizar una operación aritmética aun en el caso de operar con dos números que admitan una representación exacta como números máquina. Ejemplo: En un sistema F(5,-5, 5, 0) son números (decimales) máquina los números y El producto (exacto) de estos dos números sería: La mantisa de este número tiene 8 dígitos decimales y por ello se redondearía al número máquina: , 49

52 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid cometiéndose un error en el resultado de la multiplicación de los números aunque se ha partido, en este caso, de números máquina exactos. 4.. Propagación de errores trabajando con números máquina. Analicemos en primer lugar el error que se produce en las distintas operaciones aritméticas entre números máquina. A) Multiplicación y división de números máquina. El proceso para multiplicar dos números máquina consiste en realizar los siguientes pasos: a) Multiplicar las mantisas de ambos números (cada una de ellas con s dígitos decimales) almacenando su resultado exacto en un número con ( s) dígitos decimales de mantisa. b) Sumar los exponentes de ambos números y, en su caso, ajustar el exponente resultante desplazando el punto decimal de la mantisa. c) Aproximar el número así obtenido por un número máquina (con s decimales en su mantisa) ya sea por truncado ya sea por redondeo. En lo que sigue denotaremos por a b el valor exacto del producto de dos números máquina y por a b al número máquina que aproxima dicho valor. Ejemplo: Consideremos un sistema de codificación F(5, -99, 99, 0) y los números máquina de este sistema y El producto de estos números se estimaría: a) Multiplicando mantisas: = = b) Sumando exponentes: -3 + = -, y ajustando el resultado por los desplazamientos del punto decimal de la mantisa: - + (-) = -3. c) Aproximando por el número máquina:

53 Programación y Métodos Numéricos Errores de redondeo En la multiplicación de dos números máquina se comete un error δ que estará acotado, según las propiedades ª y ª por la unidad de redondeo u (0 -s si se aproxima el resultado por truncado o (/).0 -s si se hace mediante redondeo). Denotando por a y b a dos números máquina del sistema de codificación F(s, m, M, 0) se puede expresar lo anterior mediante: a b = a b ( +δ ) donde δ representa el error relativo cometido que verificará: δ u. Si el número máquina obtenido se vuelve a multiplicar por otro número máquina c se tendrá que: ( ) (a b) c = a b ( +δ) c ( +δ ) = a b c ( +δ) ( +δ ) = = a b c ( +δ +δ +δ δ ) Dado que, en los sistemas de números máquina que se utilizan en los ordenadores, los errores producidos en las aproximaciones de los números son pequeños (inferiores a la unidad de error de redondeo que es del orden de 0-8 o menor) una buena aproximación del resultado anterior es: (a b) c a b c ( +δ +δ ) Ello nos indica que los errores de sucesivas multiplicaciones se acumulan aditivamente. Ejemplo: Trabajemos, redondeando, en el sistema de codificación F(5, -99, 99, 0) y consideremos los números máquina: a = 0.34, b = 0.43 y c = Multiplicando a y b se tiene que: a b = por lo que: a b = cometiéndose un error relativo en esta primera multiplicación: (a b) (a b) δ = = (a b) 4 5

54 Errores de redondeo Multiplicando ahora: Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid (a b) c = se tiene que: ( a b) c = cometiéndose en esta segunda multiplicación un error relativo: (a b) c (a b) c δ = = (a b) c 5 El error total en las dos operaciones puede ser estimado entonces mediante: δ +δ = por lo que: En efecto, si se operara exactamente se tiene que: a b c = a b c (a b) c = a b c Obsérvese además que el error relativo total cometido en las dos multiplicaciones es inferior al doble de la unidad de redondeo:.u = 0 -s = 0-3. Generalizando por inducción el razonamiento anterior se tiene la propiedad siguiente: Propiedad. Trabajando en un sistema F(s, m, M, 0) y denotando por δ i el error relativo que se comete al aproximar por un número máquina el resultado de multiplicar ((a a ) a )...a por el número máquina a i, y por el número máquina ( ) 0 i u a la unidad de redondeo, se verifica que: (((a0 a ) a )...a n)= (a0 a a... a n) ( +δ) ( +δ)... ( +δn) (a0 a a... a n) ( +δ +δ δ n) con: δ +δ δn n u Demostración: Se deja como ejercicio propuesto al lector. c.q.d. 5

55 Programación y Métodos Numéricos Errores de redondeo En otros términos, como ya se señaló anteriormente, la cota del error relativo del producto de n números puede aproximarse (despreciando productos de menor orden) por: (n u). Pero la acumulación de los errores de redondeo relativos no es la única consecuencia que tiene el operar en un sistema de codificación con las mantisas limitadas a s dígitos decimales. Otra de las consecuencias es que la multiplicación pierde la propiedad asociativa, es decir que en general: a b c a b c ( ) ( ) por En efecto, denotando por δ ab al error relativo producido al evaluar a b, δ bc al producido al evaluar b c, por δ (ab)c el producido al evaluar ( a b) c y por δ a(bc) al producido en el cálculo del número máquina a (b c) se tiene que: (a b) c = (a b c) ( +δ ) ( +δ ) por lo que: ab (ab)c a (b c) = (a b c) ( +δ ) ( +δ ) bc a(bc) (a b) c ( +δab ) (a +δ(ab)c ) = = +γ a (b c) ( +δ ) (a +δ ) bc a(bc) En los sistemas de codificación habituales el valor de γ es pequeño pero aun así, la presencia de este número hace que la propiedad asociativa del producto entre números máquina sólo se verifique de una forma aproximada. Ejemplo: Trabajando en el sistema F(5, -99, 99, 0) consideremos los números máquina: a = 0.334, b = y c = Puede comprobarse que, utilizando la técnica de redondeo para aproximar los números: a b = a b = por lo que: b c b c = 4 = 4 (a b) c (a b) c = = a (b c) a (b c) = 5 = 5 produciéndose una diferencia en el último dígito de la mantisa. 53

56 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid Para el caso de la división entre números máquina, en el caso de que el denominador no sea muy próximo a 0., pueden realizarse consideraciones análogas. El proceso para realizar la división de un número máquina a entre otro número máquina no nulo b (ambos de F(s+, m, M, 0)) consiste en: a) Dividir las mantisas almacenando momentáneamente el resultado en otro número máquina con.s dígitos decimales en su mantisa. b) Ajustar los exponentes (sumando el obtenido en el paso anterior al exponente del número máquina a y restando el valor del exponente del número máquina b ). c) Aproximar, si es posible, el número anterior (que tiene.s bits en su mantisa) por un número máquina de F(s+, m, M, 0). Obsérvese que, en general, el cociente de las mantisas de los dos números máquina no puede representarse exactamente con.s dígitos decimales (por ejemplo: 0./0.3 tiene infinitos decimales). Esto tampoco representa un grave problema pues, a efectos de redondear, será el dígito (s+) el que deba ser estimado de forma precisa. Con estas consideraciones, son aplicables a la división de números máquina (con cociente no nulo) las mismas propiedades y observaciones que se realizaron para la multiplicación. En lo que sigue denotaremos por a / b el valor exacto del cociente entre números máquina y por a b al número máquina que aproxima dicho valor. Ejemplo: 0 Sean los números a = y b = Ambos son números máquina del sistema F(5, -99, 99, 0). Se tiene que: Cociente de mantisas (en 8 bits de mantisa): = Ajuste de exponentes: / 0-4 = 0 5. Aproximación (por redondeo) mediante un nuevo número máquina: a b = El valor exacto de este cociente es: a /b = por lo que el error (relativo) que se comete está dado por: 54

57 Programación y Métodos Numéricos Errores de redondeo (a /b) (a b) (a /b) = NOTA: Al tratar los errores nos hemos referido a los errores relativos. En este sentido debe observarse que siendo una estimación de la cota del error relativo de n productos (o de n divisiones) el valor (n.u), si el resultado de dichas operaciones es un número de gran valor absoluto, el error absoluto puede ser también elevado. B) Sumas y restas de números máquina. Como se pondrá de manifiesto a continuación las operaciones aritméticas suma y resta de números máquina pueden tener un comportamiento mucho peor que la multiplicación y la división. Esto será especialmente cierto en el caso de sumar números de órdenes de magnitud muy diferentes o de restar números muy parecidos. Puesto que la resta a b puede considerarse como la suma del número a más el número -b, en muchos casos nos ocuparemos tan sólo de la suma. Y siendo a y b dos números máquina (en base 0), denotaremos por a b al número máquina que aproxima el valor exacto de a+b.la operación de sumar dos números máquina a y b se realiza en las siguientes etapas: a) Ajuste de los exponentes de ambos números al mayor de ellos. b) Suma de las mantisas y, en su caso, nuevo ajuste de exponentes. c) Aproximación del resultado por un nuevo número máquina. Antes de analizar teóricamente cómo se propaga el error, ilustremos este proceso con algunos ejemplos realizados con números máquina del sistema F(5, -99, 99, 0) y realizando en todos ellos la aproximación correspondiente mediante redondeo. Ejemplos: º. Para sumar: a = y b = se procede como sigue: 55

58 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid a) Ajuste de exponentes: no es necesario pues el exponente de ambos números es el mismo (0 para ambos). b) Suma de mantisas y nuevo ajuste de exponentes: = = c) Aproximación del resultado por un nuevo número máquina: a b = Como a + b = , el error relativo producido será: (a + b) (a b) = (a + b) 4 º. Para sumar a = y b = se procede como sigue: a) Ajuste de exponentes: b = b) Suma de mantisas y, en su caso, nuevo ajuste de exponentes: = c) Aproximación del resultado por un nuevo número máquina: a b = Como a + b = , el error relativo producido será: (a + b) (a b) = (a + b) 3º. Para sumar a = y b = se procede como sigue: a) Ajuste de exponentes: b = b) Suma de mantisas: = c) Aproximación del resultado por un nuevo número máquina: a b = ( = a) Como a + b = , el error relativo producido será: (a + b) (a b) = (a + b) 6 56

59 Programación y Métodos Numéricos Errores de redondeo El tercero de los ejemplos anteriores pone de manifiesto que si se suman números con órdenes de magnitud muy dispares, el resultado puede coincidir con el número mayor. Y en general, en el resultado de una suma de números con órdenes de magnitud diferentes sólo intervienen los primeros dígitos de la mantisa del número de menor valor absoluto. De esta forma se están perdiendo dígitos significativos del menor de dichos números. Este hecho es el que se concreta en la siguiente propiedad. Propiedad. Sean a y b dos números máquina positivos del sistema F(s+, m, M, 0) tales que a > b y sean e a y e b los exponentes de a y b respectivamente. Si se verifica que (e a e b ) >0 entonces en el número máquina a b no influyen los (e a e b ) últimos dígitos de la mantisa del número b. Demostración: Basta considerar que en el ajuste de exponentes previo a la suma el dígito i-ésimo de la mantisa de b pasa a la posición i + (e a e b ). Por lo tanto, una vez ajustado el exponente, el dígito que ocupe la posición (s+) (que es el último en influir si el resultado se redondea) será el que inicialmente ocupaba la posición [s (e a e b )]. c.q.d. 3 Nótese que este error ( llamado en ocasiones error de pérdida de significado en uno de los sumandos) en la suma de dos números no es preocupante pues si se relativiza es un error inferior a la unidad de redondeo de la máquina. Lo realmente preocupante de este error es su acumulación en sumas sucesivas. Este hecho puede ilustrarse con el siguiente ejemplo: Ejemplo: En el sistema F(5, -99, 99, 0) consideremos el número máquina a = y sumémosle n veces el número b = Para sucesivos valores del índice n, la suma exacta tomaría los siguientes valores: 3 La propiedad que acaba de ser demostrada podría precisarse más indicando que el dígito decimal (s e a + e b + ) del número más pequeño, b,sólo influye en el proceso de redondeo (y en el caso de actuar mediante trucado no influye) del resultado. 57

60 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid n = S = n = S = n = 3 S 3 = n = 4 S 4 = n = 5 S 5 = n = 6 S 6 = Pero, por el contrario, el resultado que se obtendría operando con números máquina es: 4 s = a b = = s = (a b) b = = s = ((a b) b) b = = s n = La presencia del error de pérdida de significado hace aconsejable que, siempre que se pueda, sea conveniente sumar los números máquina comenzando por los de menor magnitud y terminando por los de mayor magnitud. Con ello, la acumulación previa de los números menores, produciendo números mayores, puede contribuir a una mayor precisión del resultado final. Ejemplo: Si repetimos el ejemplo anterior pero sumando n veces los números b y a su resultado añadiéndole el número a se tiene que: n = : s = b a = n = : s = (b b) a = = (= S ) 3 n = 3: s 3 = ((b b) b) a = = n = 4: s 4 = (((b b) b) b) a = = = ( = S 4 )... obteniéndose en general que: Sn si n es impar sn = Sn si n es par 58

61 Programación y Métodos Numéricos Errores de redondeo Ejemplo: 9 Una forma de aproximar el valor de la derivada de una función f(x) en un punto x* consiste en sustituir: f(x * + h) f(x*) f '(x*) = lim h 0 h por el cociente incremental: f(x * +ε) f(x*) f'(x*) ε donde ε es un valor a seleccionar por el usuario y que cuanto menor sea su valor absoluto más hará que se parezca la fórmula numérica (cociente incremental) a la fórmula exacta (la que involucra el cálculo del límite). Pero uno de los problemas que se plantean al tomar ε muy pequeño es que si su orden de magnitud es excesivamente pequeño en comparación con x*, puede darse el caso de que los números máquina que representan a ε y a x*+ ε -x* no sean los mismos. Para ilustrar este hecho volvamos a situarnos en el conjunto de números máquina F(5, -99, 99, 0) y tomemos como parámetros x* = y ε= Se tiene entonces que: x * ε = con lo que, denotando por ε ' = , en lugar de utilizar la fórmula numérica de la derivada en la práctica se estaría utilizando: f(x * +ε') f(x*) f'(x*) ε que es incorrecta para determinar el valor aproximado de una derivada. Por ejemplo, si se considera la función f(x) = x es obvio que f () =. La tabla siguiente recoge los valores que se obtienen aproximando la primera derivada mediante la fórmula anterior para distintas elecciones del parámetro ε si se utilizan sólo 4 dígitos significativos en las operaciones: ε f( +ε) f( ε) ε f () Extraído de L.F. Shampine, R.C. Allen, Jr. & S. Pruess (997) Fundamentals of Numerical Computing. Ed. John Wiley & Sons, Inc. 59

62 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid Puede apreciarse que la aproximación mejora al reducir ε hasta una centésima pero que valores muy pequeños en relación al número de dígitos manejados (una diezmilésima y menores) conducen a malas aproximaciones de la derivada. Una forma de corregir esta deficiencia consiste en, dado un valor de ε formar un incremento Δ de la forma siguiente: y utilizar la fórmula: Δ = ( x* ε) ( x*) f(x * +Δ) f(x*) f'(x*) Δ Con los valores antes considerados, la forma de proceder anterior nos conduciría a Δ= Propagación de errores operando con números reales. En el apartado anterior examinamos algunos aspectos sobre la propagación del error en las operaciones aritméticas cuando se manipulaban números máquina, esto es números que se podían codificar sin error alguno en el sistema de coma flotante elegido. Pero dichos números son un subconjunto finito de los números reales que deberían ser manipulados en la realidad. En otros términos, y refiriéndonos por ejemplo a la operación multiplicación, en el apartado 4.. se examinó el error cometido al aproximar el valor exacto del producto de dos números máquina ( a b ) por otro número máquina (denotado por a b ). Pero, en general, a b es a su vez una aproximación de a b, en la que el número real a es aproximado por el número máquina a y el número real b es aproximado por b, verificándose que: a = a ( +δ ) y b = b ( +δ ) por lo que: a a b = a b ( +δ ) = a b ( +δ ) ( +δ ) ( +δ ) ab a b ab b verificándose para los errores relativos que aparecen en la expresión anterior que: δ u, δb u, δab u por lo que: a 60

63 Programación y Métodos Numéricos Errores de redondeo ( +δa) ( +δb) ( +δ ab) = = +δ +δ +δ +δ δ +δ δ +δ δ +δ δ δ a b ab a b a ab b ab a b ab u+ 3.u + u La cota anterior, con los valores habituales de la unidad de redondeo puede aproximarse por + 3.u, lo que nos permite escribir: a b a b (+ 3.u) obteniéndose como cota aproximada del error relativo al multiplicar números reales la expresión (3.u). En general si se multiplican n números reales el error relativo en el resultado puede acotarse (aproximadamente) por: ( n ) u. Este mismo resultado puede extenderse a la división de números reales (con cocientes no nulos). En cuanto a la suma y sustracción de números reales cabría razonar de forma similar. No obstante, en el caso de la sustracción de números reales parecidos puede aparecer una fuente de error adicional que se conoce con el nombre de error de cancelación debido a la anulación de los primeros dígitos de la mantisa del número resultante produciendo como resultado números pequeños. Ilustremos este hecho con un ejemplo. Ejemplo: Sea a = / 3 y b = 4 /. Se tiene que: 4 a b = = = = Trabajando en un sistema de codificación F(6, -99, 99, 0) el valor anterior se aproximaría por: a b = Pero en un ordenador no se aproxima el resultado final. Lo que sucede en realidad es que, en primer lugar se aproximan los números a y b por: 0 a = ( δ a = ) 0 b = ( δ b = ) 6

64 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid y tras ello se realiza (en este caso de forma exacta al ser los números de la misma magnitud) la operación: a b = ( ) La diferencia entre a b y a b es: = Es un error (absoluto) pequeño, del mismo orden que los errores absolutos que se cometieron al aproximar a y b. Pero ahora este error absoluto afecta a un número también pequeño en valor absoluto ya que se han anulado ( al cancelarse en la resta) los primeros dígitos de las mantisas de a y b que eran iguales. Por ello el error relativo es ahora: 5 a b (a b) δ a b = = = a b es decir un error relativo de un orden mil veces mayor que los que afectaban a las aproximaciones de a y b mediante números máquina. Para poder tener alguna información sobre la aparición del error de cancelación es útil poder saber cuantos dígitos de la mantisa se anulan al restar dos números. A esta cuestión da respuesta la siguiente propiedad: Propiedad 3. Sean a y b son dos números positivos expresados en coma flotante decimal y tales que a > b. Sean además α y γ dos enteros positivos tales que α γ y: α b γ 0 < 0 a En estas condiciones en la operación (a b) se anulan un número de primeros dígitos mayor o igual que γ y menor o igual que α. Demostración: p Sea a = 0.a a...a... 0 y s ambos números expresemos b en la forma: ello: b 0.b b...b... 0 q = s con p q. Para restar q p p b = (0.b b...b s... 0 ) 0. Con q p p a b (0.aa...a s... 0.b b...b s... 0 ) 0 = = q 0.b b...b s... 0 = 0.aa...a s... 0 p 0.aa...a s... 0 p 6

65 Programación y Métodos Numéricos Errores de redondeo Por la hipótesis realizada en el enunciado se tiene que: 0.b b...b... 0 q α s γ 0 0 p < 0.aa...a s... 0 por lo que este número, comprendido entre 0 y, tendrá al menos los γ primeros decimales nulos y a lo sumo sus ( α ) primeros decimales nulos. q 0.bb...b s... 0 Por tanto 0.aa...a s... 0.a p, siendo a 0, tendrá un a...a s... 0 número de decimales nulos que será al menos γ y a lo sumo α. c.q.d. Ejemplos: º. Consideremos los números a = / 3 y b = 4 /. Se tiene que: 4 43 = = / verificándose que: = 0 < 0.0= 0 /3 3 por lo que la propiedad anterior nos indicaría que al restar las mantisas de a y b se anularán entre y 3 decimales. En este caso el número de decimales que se anulan es de : 4 a b = = ( ) 0 = º. Consideremos los números a = / 3 y b = Se tiene que: verificándose que: = / = 0 < 0.0= 0 /3 3 63

66 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid por lo que la propiedad anterior nos indicaría que al restar las mantisas de a y b se anularán entre y 3 decimales. En este caso el número de decimales que se anulan es de 3: a b = = ( ) 0 = Una forma de expresar el error relativo de la resta de dos números puede ser la siguiente: (a b) (a b) (a a) (b b) = (a b) (a b) ε ε = a b (a b) donde ε a y ε b representan los errores absolutos cometidos al representar en el sistema de codificación F(s, m, M, 0) los reales a y b. Si los números a y b (con a > b > 0) son muy parecidos y al expresarlos en coma flotante tienen el mismo exponente e, según se demostró en las propiedades ª y 3ª, se tiene que: e s εa ξ 0 y ε ς 0 b e s por lo que εa εb podrá expresarse como: e s εa εb μ 0. Por otra parte, la propiedad 3ª establece el rango de decimales que se anulan al realizar la operación (a b). Siendo η este número de decimales que se anulan, se tiene que, con la notación de la propiedad ª, γ η α. Por tanto el valor de (a b) e podrá expresarse como: a b = σ 0 η. Los razonamientos anteriores nos conducen a que: e s (a b) (a b) εa εb μ 0 μ = = 0 e η (a b) (a b) σ 0 σ η s Esta expresión establece una cota del error relativo en la sustracción de números positivos. El error realmente cometido puede ser muy inferior al valor de dicha cota. No obstante cuanto más próximo sean los valores de εa ε b y de 0 e-s s más se acercará el error relativo de la sustracción a 0 η por lo que si en dicho caso el número de decimales que se anulan η es elevado mayor será el error relativo de la sustracción en comparación con el error relativo de la codificación de a y b (que estaba acotado por 0 -s ). 64

67 Programación y Métodos Numéricos Errores de redondeo Ejemplo: Sean a = /3 y b = y trabajemos en el sistema F(6, -99, 99, 0). Se tiene que: a = , 0 a = , ε a = b = , 0 b = , ε b = 0. por lo que: εa ε b = Por otra parte: a b = (se anulan η = 3 decimales). El error relativo de la sustracción es en este caso: εa εb = = = (a b) siendo la cota que se determinaría con el desarrollo teórico anteriormente realizado

68 Errores de redondeo Carlos Conde, Arturo Hidalgo, Alfredo López ETSI Minas de la Universidad Politécnica de Madrid 5. COMENTARIOS SOBRE EL TEMA. a) Conviene insistir nuevamente en que la realidad en los ordenadores es más compleja de lo que aquí se ha descrito pues se trabaja en base (o en base 8 ó 6), se introducen escalamientos de exponentes, se reserva uno de los códigos numéricos para almacenar el número real nulo, etc... No obstante, lo que hemos descrito en estos apuntes puede generalizarse sin grandes dificultades a la realidad de cada máquina concreta. b) En la bibliografía sobre este tema (y en concreto en las referencias de Viaño (995) y de Shampine et al. (997)) pueden encontrarse análisis más extensos sobre la propagación de errores, realizados en bases de numeración genéricas y combinando diferentes tipos de operaciones aritméticas. c) Existen sistemas de computación simbólica que permiten operar con los números exactos, sin introducir aproximaciones para ellos. El problema de tales sistemas es que cuando el volumen de cálculo es elevado acaban produciéndose expresiones excesivamente largas (que pueden ocupar al escribirlas varias hojas) y que, además de necesitar evaluarlas y reducirlas a un número finito de decimales en algún momento, pueden presentar problemas (de almacenamiento y de velocidad) al manipularlas. d) Numerosos sistemas de computación numérica existentes en la actualidad permiten elegir el número de bits con los que se opera (al menos entre algunas opciones como simple o doble precisión) y de esa forma controlar el efecto de los errores de redondeo en los cálculos. e) Es muy aconsejable a la hora de diseñar un proceso de cálculo sobre un ordenador analizar el orden en el que se van a realizar las distintas operaciones pues, como se puso de manifiesto en alguno de los ejemplos antes presentados, ello puede condicionar el error que afecte al resultado final del proceso. 66

69 Programación y Métodos Numéricos Errores de redondeo BIBLIOGRAFÍA Gerald, C.F. y Wheatley, P. O. (000). Análisis numérico con aplicaciones (6ª edición). Ed. Prentice Hall. Henrici, P. (98). Essentials of Numerical Analysis with pocket calculator demonstrations. Ed. John Wiley & Sons. Kincaid, D. y Cheney, W. (994). Análisis numérico. Las matemáticas del cálculo científico. Ed. Addison-Wesley Iberoamericana. Sanz-Serna, J. M. (998). Diez lecciones de Cálculo Numérico. Ed. Universidad de Valladolid. Shampine, L. F., Allen, R. C.,Jr. y Pruess, S. (997). Fundamentals of Numerical Computing. Ed. John Wiley & Sons, Inc. Stoer, J. y Bulirsch, R. (993). Introduction to Numerical Analysis (Second edition). Ed. Springer. Viaño, J. M. (995). Lecciones de Métodos Numéricos..- Introducción general y análisis de errores. Ed. Tórculo Edicións. 67

EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO

EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO 1º) Considérese un número estrictamente positivo del sistema de números máquina F(s+1, m, M, 10). Supongamos que tal número es: z = 0.d 1 d...d s 10 e Responde

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

Divisibilidad y números primos

Divisibilidad y números primos Divisibilidad y números primos Divisibilidad En muchos problemas es necesario saber si el reparto de varios elementos en diferentes grupos se puede hacer equitativamente, es decir, si el número de elementos

Más detalles

SISTEMAS DE NUMERACIÓN. Sistema decimal

SISTEMAS DE NUMERACIÓN. Sistema decimal SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos",

Más detalles

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

Ecuaciones de primer grado con dos incógnitas

Ecuaciones de primer grado con dos incógnitas Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad

Más detalles

Aritmética finita y análisis de error

Aritmética finita y análisis de error Aritmética finita y análisis de error Escuela de Ingeniería Informática de Oviedo (Dpto. de Matemáticas-UniOvi) Computación Numérica Aritmética finita y análisis de error 1 / 47 Contenidos 1 Sistemas decimal

Más detalles

TEMA 2: Representación de la Información en las computadoras

TEMA 2: Representación de la Información en las computadoras TEMA 2: Representación de la Información en las computadoras Introducción Una computadora es una máquina que procesa información y ejecuta programas. Para que la computadora ejecute un programa, es necesario

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

Los sistemas de numeración se clasifican en: posicionales y no posicionales. SISTEMAS NUMERICOS Un sistema numérico es un conjunto de números que se relacionan para expresar la relación existente entre la cantidad y la unidad. Debido a que un número es un símbolo, podemos encontrar

Más detalles

Representación en Punto Flotante

Representación en Punto Flotante Representación en Punto Flotante Minaya Villasana Abril-Julio, 2004 1 Representación en base 2 Las computadoras tienen dos formas de representar números: enteros (solo usado para enteros) y punto flotante

Más detalles

❷ Aritmética Binaria Entera

❷ Aritmética Binaria Entera ❷ Una de las principales aplicaciones de la electrónica digital es el diseño de dispositivos capaces de efectuar cálculos aritméticos, ya sea como principal objetivo (calculadoras, computadoras, máquinas

Más detalles

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: 5 10 2 2 10 1 8 10 0 =528 8 10 3 2 10 2 4 10 1 5 10 0 9 10 1 7 10 2 =8245,97

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: 5 10 2 2 10 1 8 10 0 =528 8 10 3 2 10 2 4 10 1 5 10 0 9 10 1 7 10 2 =8245,97 SISTEMAS DE NUMERACIÓN Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. La norma principal en un sistema de numeración posicional es que un mismo símbolo

Más detalles

Sistemas de Numeración Operaciones - Códigos

Sistemas de Numeración Operaciones - Códigos Sistemas de Numeración Operaciones - Códigos Tema 2 1. Sistema decimal 2. Sistema binario 3. Sistema hexadecimal 4. Sistema octal 5. Conversión decimal binario 6. Aritmética binaria 7. Complemento a la

Más detalles

Tema 2. La Información y su representación

Tema 2. La Información y su representación Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica

Más detalles

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Aritmética binaria

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Aritmética binaria Oliverio J. Santana Jaria 3. Aritmética tica binaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Para Los La en conocer muchos aritmética comprender otros binaria tipos

Más detalles

Lección 1. Representación de números

Lección 1. Representación de números Lección 1. Representación de números 1.1 Sistemas de numeración Empecemos comentando cual es el significado de la notación decimal a la que estamos tan acostumbrados. Normalmente se escribe en notación

Más detalles

Los números racionales

Los números racionales Los números racionales Los números racionales Los números fraccionarios o fracciones permiten representar aquellas situaciones en las que se obtiene o se debe una parte de un objeto. Todas las fracciones

Más detalles

Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico

Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico Máster Universitario en Ingeniería de Caminos, Canales y Puertos Introducción al Análisis Numérico Departamento de Matemática Aplicada Universidad Granada Introducción El Cálculo o Análisis Numérico es

Más detalles

Materia: Informática. Nota de Clases Sistemas de Numeración

Materia: Informática. Nota de Clases Sistemas de Numeración Nota de Clases Sistemas de Numeración Conversión Entre Sistemas de Numeración 1. EL SISTEMA DE NUMERACIÓN 1.1. DEFINICIÓN DE UN SISTEMA DE NUMERACIÓN Un sistema de numeración es un conjunto finito de símbolos

Más detalles

Tema 4: Sistemas de Numeración. Codificación Binaria. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Tema 4: Sistemas de Numeración. Codificación Binaria. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid Tema 4: Sistemas de Numeración. Codificación Binaria Ingeniería Informática Universidad Autónoma de Madrid 1 O B J E T I V O S Sistemas de Numeración. Codificación Binaria Conocer los diferentes sistemas

Más detalles

1. Ecuaciones no lineales

1. Ecuaciones no lineales 1. Ecuaciones no lineales 1.1 Ejercicios resueltos Ejercicio 1.1 Dada la ecuación xe x 1 = 0, se pide: a) Estudiar gráficamente sus raíces reales y acotarlas. b) Aplicar el método de la bisección y acotar

Más detalles

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica.

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica. 5.2 SISTEMAS DE NUMERACIÓN. DECIMAL El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica. La base de un sistema indica el número de caracteres

Más detalles

NÚMEROS NATURALES Y NÚMEROS ENTEROS

NÚMEROS NATURALES Y NÚMEROS ENTEROS NÚMEROS NATURALES Y NÚMEROS ENTEROS Los números naturales surgen como respuesta a la necesidad de nuestros antepasados de contar los elementos de un conjunto (por ejemplo los animales de un rebaño) y de

Más detalles

1.4.- D E S I G U A L D A D E S

1.4.- D E S I G U A L D A D E S 1.4.- D E S I G U A L D A D E S OBJETIVO: Que el alumno conozca y maneje las reglas empleadas en la resolución de desigualdades y las use para determinar el conjunto solución de una desigualdad dada y

Más detalles

Cifras significativas e incertidumbre en las mediciones

Cifras significativas e incertidumbre en las mediciones Unidades de medición Cifras significativas e incertidumbre en las mediciones Todas las mediciones constan de una unidad que nos indica lo que fue medido y un número que indica cuántas de esas unidades

Más detalles

Unidad Didáctica. Códigos Binarios

Unidad Didáctica. Códigos Binarios Unidad Didáctica Códigos Binarios Programa de Formación Abierta y Flexible Obra colectiva de FONDO FORMACION Coordinación Diseño y maquetación Servicio de Producción Didáctica de FONDO FORMACION (Dirección

Más detalles

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO I. SISTEMAS NUMÉRICOS DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO LIC. LEYDY ROXANA ZEPEDA RUIZ SEPTIEMBRE DICIEMBRE 2011 Ocosingo, Chis. 1.1Sistemas numéricos. Los números son los mismos en todos

Más detalles

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones Fracciones. Las fracciones y los números Racionales Las fracciones se utilizan cotidianamente en contextos relacionados con la medida, el reparto o como forma de relacionar dos cantidades. Tenemos entonces

Más detalles

UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse

Más detalles

CAPÍTULO III. FUNCIONES

CAPÍTULO III. FUNCIONES CAPÍTULO III LÍMITES DE FUNCIONES SECCIONES A Definición de límite y propiedades básicas B Infinitésimos Infinitésimos equivalentes C Límites infinitos Asíntotas D Ejercicios propuestos 85 A DEFINICIÓN

Más detalles

TEMA 1 Representación de la información

TEMA 1 Representación de la información TEMA 1 Representación de la información Tema 1: Representación de la información. Aritmética y Representación binaria 1) Introducción BB1, Cap 2, Ap: 2.1, 2.2.1 2) Sistemas binario-octal-hexadecimal BB1,

Más detalles

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL ELECTRÓNICA DIGITAL La electrónica es la rama de la ciencia que se ocupa del estudio de los circuitos y de sus componentes, que permiten modificar la corriente eléctrica amplificándola, atenuándola, rectificándola

Más detalles

LÍMITES Y CONTINUIDAD DE FUNCIONES

LÍMITES Y CONTINUIDAD DE FUNCIONES Capítulo 9 LÍMITES Y CONTINUIDAD DE FUNCIONES 9.. Introducción El concepto de ite en Matemáticas tiene el sentido de lugar hacia el que se dirige una función en un determinado punto o en el infinito. Veamos

Más detalles

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Datos del autor Nombres y apellido: Germán Andrés Paz Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Correo electrónico: [email protected] =========0========= Introducción

Más detalles

4º ESO 1. ECUAC. 2º GRADO Y UNA INCÓGNITA

4º ESO 1. ECUAC. 2º GRADO Y UNA INCÓGNITA 4º ESO 1. ECUAC. 2º GRADO Y UNA INCÓGNITA Una ecuación con una incógnita es de segundo grado si el exponente de la incógnita es dos. Ecuaciones de segundo grado con una incógnita son: Esta última ecuación

Más detalles

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos:

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos: UNIDAD Nº 1: TECNICATURA EN INFORMATICA UNLAR - CHEPES 1.1. INTRODUCCION 1. SISTEMAS DE NUMERACION El mundo del computador es un mundo binario. Por el contrario, el mundo de la información, manejada por

Más detalles

Aproximación local. Plano tangente. Derivadas parciales.

Aproximación local. Plano tangente. Derivadas parciales. Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación

Más detalles

Informática Bioingeniería

Informática Bioingeniería Informática Bioingeniería Representación Números Negativos En matemáticas, los números negativos en cualquier base se representan del modo habitual, precediéndolos con un signo. Sin embargo, en una computadora,

Más detalles

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 = 3 3 3 3

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 = 3 3 3 3 1. NÚMEROS NATURALES POTENCIAS DE UN NÚMERO NATURAL Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 = 3 3 3 3 El factor que se repite es la base, y el número de veces que se repite

Más detalles

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING.

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING. INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING. JUAN DE LA ROSA T. TEMA 1 Desde tiempos remotos el hombre comenzó a

Más detalles

Tema 2. Espacios Vectoriales. 2.1. Introducción

Tema 2. Espacios Vectoriales. 2.1. Introducción Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por

Más detalles

Taller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010

Taller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010 Detalles de Matlab MATLAB utiliza la aritmética del punto flotante, la cual involucra un conjunto finito de números con precisión finita. Esta limitación conlleva dos dificultades: los números representados

Más detalles

Funciones, x, y, gráficos

Funciones, x, y, gráficos Funciones, x, y, gráficos Vamos a ver los siguientes temas: funciones, definición, dominio, codominio, imágenes, gráficos, y algo más. Recordemos el concepto de función: Una función es una relación entre

Más detalles

Aritmética Binaria. Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid

Aritmética Binaria. Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid Aritmética Binaria Luis Entrena, Celia López, Mario García, Enrique San Millán Universidad Carlos III de Madrid 1 Índice Representación de números con signo Sistemas de Signo y Magnitud, Complemento a

Más detalles

Tema 2 Límites de Funciones

Tema 2 Límites de Funciones Tema 2 Límites de Funciones 2.1.- Definición de Límite Idea de límite de una función en un punto: Sea la función. Si x tiende a 2, a qué valor se aproxima? Construyendo - + una tabla de valores próximos

Más detalles

SISTEMAS NUMÉRICOS (SISTEMAS DE NUMERACIÓN)

SISTEMAS NUMÉRICOS (SISTEMAS DE NUMERACIÓN) SISTEMAS NUMÉRICOS (SISTEMAS DE NUMERACIÓN) INTRODUCCIÓN Desde hace mucho tiempo, el hombre en su vida diaria se expresa, comunica, almacena información, la manipula, etc. mediante letras y números. Para

Más detalles

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 El sistema de numeración binario

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 El sistema de numeración binario binariooliverio J. Santana Jaria 2. El sistema de numeración Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Todos Curso 2006 2007 En numeración estamos decimal, familiarizados ya que

Más detalles

Lección 4: Suma y resta de números racionales

Lección 4: Suma y resta de números racionales GUÍA DE MATEMÁTICAS II Lección : Suma y resta de números racionales En esta lección recordaremos cómo sumar y restar números racionales. Como los racionales pueden estar representados como fracción o decimal,

Más detalles

UNIDAD 1. LOS NÚMEROS ENTEROS.

UNIDAD 1. LOS NÚMEROS ENTEROS. UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar

Más detalles

Naturaleza binaria. Conversión decimal a binario

Naturaleza binaria. Conversión decimal a binario Naturaleza binaria En los circuitos digitales sólo hay 2 voltajes. Esto significa que al utilizar 2 estados lógicos se puede asociar cada uno con un nivel de tensión, así se puede codificar cualquier número,

Más detalles

Sistemas de Numeración

Sistemas de Numeración Sistemas de Numeración Objetivo: Conoce los sistemas de numeración diferentes al decimal Ser capaces de transformar una cifra de un sistema a otro 1 Introducción El sistema de numeración usado de forma

Más detalles

QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros.

QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros. QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros. Qué significa esto? Decir que una empresa es eficiente es decir que no

Más detalles

Representación de la Información

Representación de la Información Representar: Expresar una información como una combinación de símbolos de un determinado lenguaje. Trece -> símbolos 1 y 3 Interpretar: Obtener la información originalmente representada a partir de una

Más detalles

1.3 Números racionales

1.3 Números racionales 1.3 1.3.1 El concepto de número racional Figura 1.2: Un reparto no equitativo: 12 5 =?. Figura 1.3: Un quinto de la unidad. Con los números naturales y enteros es imposible resolver cuestiones tan simples

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

EXPRESIONES ALGEBRAICAS. POLINOMIOS

EXPRESIONES ALGEBRAICAS. POLINOMIOS EXPRESIONES ALGEBRAICAS. POLINOMIOS 1. EXPRESIONES ALGEBRAICAS. Estas expresiones del área son expresiones algebraicas, ya que además de números aparecen letras. Son también expresiones algebraicas: bac,

Más detalles

Curso Completo de Electrónica Digital

Curso Completo de Electrónica Digital CURSO Curso Completo de Electrónica Digital Este curso de larga duración tiene la intención de introducir a los lectores más jovenes o con poca experiencia a la Electrónica Digital, base para otras ramas

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya LOS SISTEMAS DE REPRESENTACIÓN NUMÉRICA Es común escuchar que las computadoras utilizan el sistema binario para representar cantidades e instrucciones. En esta sección se describen las ideas principales

Más detalles

Módulo 9 Sistema matemático y operaciones binarias

Módulo 9 Sistema matemático y operaciones binarias Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional

Más detalles

Matemáticas. 1 o ESO. David J. Tarifa García. [email protected]

Matemáticas. 1 o ESO. David J. Tarifa García. info@esobachilleratouniversidad.com.es Matemáticas 1 o ESO David J. Tarifa García [email protected] 1 Matemáticas - 1 o ESO 2 Índice 1 Tema 1. Los números naturales 6 1.1 Suma de números naturales................................

Más detalles

Este documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales.

Este documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales. Este documento ha sido generado para facilitar la impresión de los contenidos. Los enlaces a otras páginas no serán funcionales. Introducción Por qué La Geometría? La Geometría tiene como objetivo fundamental

Más detalles

Polinomios y fracciones algebraicas

Polinomios y fracciones algebraicas UNIDAD Polinomios y fracciones algebraicas U n polinomio es una expresión algebraica en la que las letras y los números están sometidos a las operaciones de sumar, restar y multiplicar. Los polinomios,

Más detalles

Función exponencial y Logaritmos

Función exponencial y Logaritmos Eje temático: Álgebra y funciones Contenidos: Función exponencial y Logaritmos Nivel: 4 Medio Función exponencial y Logaritmos 1. Funciones exponenciales Existen numerosos fenómenos que se rigen por leyes

Más detalles

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES INECUACIONES NOTA IMPORTANTE: El signo de desigualdad de una inecuación puede ser,, < o >. Para las cuestiones teóricas que se desarrollan en esta unidad únicamente se utilizará la desigualdad >, siendo

Más detalles

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto se

Más detalles

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1

1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0

Más detalles

Apuntes de Matemática Discreta 9. Funciones

Apuntes de Matemática Discreta 9. Funciones Apuntes de Matemática Discreta 9. Funciones Francisco José González Gutiérrez Cádiz, Octubre de 004 Universidad de Cádiz Departamento de Matemáticas ii Lección 9 Funciones Contenido 9.1 Definiciones y

Más detalles

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5.

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5. Representación de la información Contenidos 1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5. Conversiones

Más detalles

SITEMA BINARIO, OCTAL Y HEXADECIMAL: OPERACIONES

SITEMA BINARIO, OCTAL Y HEXADECIMAL: OPERACIONES Unidad Aritmética Lógica La Unidad Aritmético Lógica, en la CPU del procesador, es capaz de realizar operaciones aritméticas, con datos numéricos expresados en el sistema binario. Naturalmente, esas operaciones

Más detalles

Un problema sobre repetidas apuestas al azar

Un problema sobre repetidas apuestas al azar Un problema sobre repetidas apuestas al azar Eleonora Catsigeras 1 10 de marzo de 2003. Resumen En estas notas se da el enunciado y una demostración de un conocido resultado sobre la probabilidad de éxito

Más detalles

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR UNIDAD 3: ARITMÉTICA DEL COMPUTADOR Señor estudiante, es un gusto iniciar nuevamente con usted el desarrollo de esta tercera unidad. En esta ocasión, haremos una explicación más detallada de la representación

Más detalles

Sistema binario. Representación

Sistema binario. Representación Sistema binario El sistema binario, en matemáticas e informática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno ( y ). Es el que se utiliza

Más detalles

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases. BASES Y DIMENSIÓN Definición: Base. Se llama base de un espacio (o subespacio) vectorial a un sistema generador de dicho espacio o subespacio, que sea a la vez linealmente independiente. β Propiedades

Más detalles

Juan Antonio González Mota Profesor de Matemáticas del Colegio Juan XIII Zaidín de Granada

Juan Antonio González Mota Profesor de Matemáticas del Colegio Juan XIII Zaidín de Granada FUNCIONES CONOCIDAS. FUNCIONES LINEALES. Se llaman funciones lineales a aquellas que se representan mediante rectas. Su epresión en forma eplícita es y f ( ) a b. En sentido más estricto, se llaman funciones

Más detalles

2 Potencias y radicales

2 Potencias y radicales 89 _ 09-008.qxd //08 09: Página Potencias y radicales INTRODUCCIÓN Los alumnos ya han trabajado con potencias de exponente positivo y han efectuado multiplicaciones y divisiones de potencias y potencias

Más detalles

Qué son los monomios?

Qué son los monomios? Qué son los monomios? Recordemos qué es una expresión algebraica. Definición Una expresión algebraica es aquella en la que se utilizan letras, números y signos de operaciones. Si se observan las siguientes

Más detalles

Tema 2 Límites de Funciones

Tema 2 Límites de Funciones Tema 2 Límites de Funciones 2.1.- Definición de Límite Idea de límite de una función en un punto: Sea la función. Si x tiende a 2, a qué valor se aproxima? Construyendo - + una tabla de valores próximos

Más detalles

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU) Agenda 0 Tipos de datos 0 Sistemas numéricos 0 Conversión de bases 0 Números racionales o Decimales 0 Representación en signo-magnitud 0 Representación en complemento Unidad Central de Procesamiento (CPU)

Más detalles

a < b y se lee "a es menor que b" (desigualdad estricta) a > b y se lee "a es mayor que b" (desigualdad estricta)

a < b y se lee a es menor que b (desigualdad estricta) a > b y se lee a es mayor que b (desigualdad estricta) Desigualdades Dadas dos rectas que se cortan, llamadas ejes (rectangulares si son perpendiculares, y oblicuos en caso contrario), un punto puede situarse conociendo las distancias del mismo a los ejes,

Más detalles

Notas de Teórico. Sistemas de Numeración

Notas de Teórico. Sistemas de Numeración Departamento de Arquitectura Instituto de Computación Universidad de la República Montevideo - Uruguay Sistemas de umeración Arquitectura de Computadoras (Versión 5. - 4) SISTEMAS DE UMERACIÓ Introducción

Más detalles

Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid Tema 3: Sistemas de Numeración. Codificación Binaria Ingeniería Informática Universidad Autónoma de Madrid 1 O B J E T I V O S Sistemas de Numeración. Codificación Binaria Conocer los diferentes sistemas

Más detalles

Juan Antonio González Mota Profesor de Matemáticas del Colegio Juan XIII Zaidín de Granada

Juan Antonio González Mota Profesor de Matemáticas del Colegio Juan XIII Zaidín de Granada FUNCIONES CONTINUAS. La mayor parte de las funciones que manejamos, a nivel elemental, presentan en sus gráficas una propiedad característica que es la continuidad. La continuidad de una función definida

Más detalles

Informática 1 Sistemas numéricos: decimal, binario, octal y hexadecimal FCFA Febrero 2012

Informática 1 Sistemas numéricos: decimal, binario, octal y hexadecimal FCFA Febrero 2012 Informática 1 Sistemas numéricos: decimal, binario, octal y hexadecimal CONVERSIONES DE UN SISTEMA A OTRO Para la realización de conversiones entre números de bases diferentes se efectúan operaciones aritméticas

Más detalles

Anterior Sistemas binarios: Aritmética binaria Siguiente ARITMÉTICA BINARIA. Operaciones elementales con números binarios

Anterior Sistemas binarios: Aritmética binaria Siguiente ARITMÉTICA BINARIA. Operaciones elementales con números binarios 1 de 10 27/09/11 09:57 Anterior Sistemas binarios: Aritmética binaria Siguiente ARITMÉTICA BINARIA Operaciones elementales con números binarios Suma de números binarios Resta de números binarios Complemento

Más detalles

AXIOMAS DE CUERPO (CAMPO) DE LOS NÚMEROS REALES

AXIOMAS DE CUERPO (CAMPO) DE LOS NÚMEROS REALES AXIOMASDECUERPO(CAMPO) DELOSNÚMEROSREALES Ejemplo: 6 INECUACIONES 15 VA11) x y x y. VA12) x y x y. Las demostraciones de muchas de estas propiedades son evidentes de la definición. Otras se demostrarán

Más detalles

TEMA 2 REPRESENTACIÓN BINARIA

TEMA 2 REPRESENTACIÓN BINARIA TEMA 2 REPRESENTACIÓN BINARIA ÍNDICE. INTRODUCCIÓN HISTÓRICA A LA REPRESENTACIÓN NUMÉRICA 2. REPRESENTACIÓN POSICIONAL DE MAGNITUDES 2. Transformaciones entre sistemas de representación (cambio de base)

Más detalles

Aritmética del computador. Departamento de Arquitectura de Computadores

Aritmética del computador. Departamento de Arquitectura de Computadores Aritmética del computador Departamento de Arquitectura de Computadores Contenido La unidad aritmético lógica (ALU) Representación posicional. Sistemas numéricos Representación de números enteros Aritmética

Más detalles

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido

Tema 3. Medidas de tendencia central. 3.1. Introducción. Contenido Tema 3 Medidas de tendencia central Contenido 31 Introducción 1 32 Media aritmética 2 33 Media ponderada 3 34 Media geométrica 4 35 Mediana 5 351 Cálculo de la mediana para datos agrupados 5 36 Moda 6

Más detalles

1. Números Reales 1.1 Clasificación y propiedades

1. Números Reales 1.1 Clasificación y propiedades 1. Números Reales 1.1 Clasificación y propiedades 1.1.1 Definición Número real, cualquier número racional o irracional. Los números reales pueden expresarse en forma decimal mediante un número entero,

Más detalles

Ejercicios de Trigonometría

Ejercicios de Trigonometría Ejercicios de Trigonometría 1) Indica la medida de estos ángulos en radianes: a) 0º b) 45º c) 60º d) 120º Recuerda que 360º son 2π radianes, con lo que para hacer la conversión realizaremos una simple

Más detalles

1. Dominio, simetría, puntos de corte y periodicidad

1. Dominio, simetría, puntos de corte y periodicidad Estudio y representación de funciones 1. Dominio, simetría, puntos de corte y periodicidad 1.1. Dominio Al conjunto de valores de x para los cuales está definida la función se le denomina dominio. Se suele

Más detalles

Factorización de polinomios

Factorización de polinomios Factorización de polinomios Polinomios Un polinomio p en la variable x es una expresión de la forma: px a 0 a 1 x a x a n1 x n1 a n x n donde a 0, a 1, a,, a n1, a n son unos números, llamados coeficientes

Más detalles

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información TEMA 1: SISTEMAS INFORMÁTICOS Parte 2: representación de la información Qué vamos a ver? Cómo se representa y almacena la información en un ordenador Cómo podemos relacionar la información que entendemos

Más detalles

Cursada Primer Semestre 2015 Guía de Trabajos Prácticos Nro. 2

Cursada Primer Semestre 2015 Guía de Trabajos Prácticos Nro. 2 Temas: Programación en MATLAB: Sentencias, expresiones y variables. Estructuras de control. Operadores relacionales y lógicos. Programación de funciones. Aritmética finita: Representación de números en

Más detalles

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA... 1 1. Representación interna de datos.... 1 1.2. Sistemas de numeración.... 2 1.3. Aritmética binaria...

Más detalles

NÚMEROS RACIONALES Y DECIMALES

NÚMEROS RACIONALES Y DECIMALES NÚMEROS RACIONALES Y DECIMALES Unidad didáctica. Números racionales y decimales CONTENIDOS Fracciones Fracciones equivalentes Amplificar fracciones Simplificar fracciones Representación en la recta numérica.

Más detalles

VECTORES. Módulo, dirección y sentido de un vector fijo En un vector fijo se llama módulo del mismo a la longitud del segmento que lo define.

VECTORES. Módulo, dirección y sentido de un vector fijo En un vector fijo se llama módulo del mismo a la longitud del segmento que lo define. VECTORES El estudio de los vectores es uno de tantos conocimientos de las matemáticas que provienen de la física. En esta ciencia se distingue entre magnitudes escalares y magnitudes vectoriales. Se llaman

Más detalles

Covarianza y coeficiente de correlación

Covarianza y coeficiente de correlación Covarianza y coeficiente de correlación Cuando analizábamos las variables unidimensionales considerábamos, entre otras medidas importantes, la media y la varianza. Ahora hemos visto que estas medidas también

Más detalles