Está en la página 1de 13

TEMA I

REPRESENTACIÓN DE NÚMEROS EN UNA COMPUTADORA

I. INTRODUCCIÓN
Los números en una computadora se representan en forma binaria, es decir, con
solo dos símbolos, el “1” y “0”, que para la computadora significan encendido y
apagado respectivamente. Por ejemplo, el número binario 101, representa el número
5 en el sistema decimal.
Los valores numéricos se almacena en una computadora en forma binaria en una
unidad de memoria llamada “palabra”, constituida por una cadena de bits, por
ejemplo la palabra puede ser de 8 bits (1 byte) o 16 bits (2 bytes) o 24 bits (3 bytes) o
32 bits (4 bytes), etc.

En este tema, se estudiara, la forma como se transforman los números enteros y


reales a la forma binaria y viceversa, además se estudiara la representación de un
número real y entero en una computadora.

II. CONVERSIÓN DE NÚMEROS ENTEROS DEL SISTEMA DECIMAL AL BINARIO


Para convertir un numero entero n expresado en el sistema decimal, es decir,
representado por los diez símbolos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a un sistema binario,
se divide el numero n entre 2 y se registra el cociente c1 y el residuo r1, luego se
vuelve a dividir el cociente c1 entre 2 y se registra nuevamente el cociente c2 y el
residuo r2, luego c2 se divide entre 2 y se registra c3 y r3, y así sucesivamente hasta
obtener el cociente ci igual a cero con un residuo ri. El numero entero n expresado
en el sistema binario se forma por los residuos ordenados en forma inversa, es decir:
ri ri 1 ri 2 ... r1
Por ejemplo, para convertir el número 99 al sistema binario, se procede bajo el
siguiente procedimiento.
ci ri
99  2  99  2  49  1
49  2  49  2  24  1
24  2  24  2 12  0
12  2  12  2  06  0
06  2  06  2  03  0
03  2  03  2  01  1
01  2  01  2  00  1

Por tanto, el número 99 en el sistema binario esta expresada en la forma:


1100011

Para convertir un entero b expresado en binario al sistema decimal, se multiplica


cada digito de b por la base 2 elevado a una potencia igual a la posición del digito,
tomando como la posición cero la del digito situado a la derecha.
Por ejemplo, para convertir el número binario 1100011 al sistema decimal se
procede de la siguiente manera:
1100011=1x26 + 1x25 +0x24 + 0x23 + 0x22 +1x21 + 1x20 = 64 + 32 + 0+ 0+ 0+2+1=99
Por tanto el numero decimal es 99.

III. CONVERSIÓN DE NÚMEROS REALES DEL SISTEMA DECIMAL AL BINARIO


Para este efecto, el número real se expresa como una parte fraccionaria, llamada
mantisa y una parte entera llamada exponente, presentada en la siguiente forma:
m be

Donde, m es la mantisa, b es la base del sistema numérico y e es el exponente.


Por ejemplo, el número 156,78 en el sistema decimal expresado en forma de punto
flotante normalizado esta dada por 0,15678 x 103.
Para convertir un número real x expresado en el sistema decimal a un número en
base binaria, se multiplica dicho numero por la base 2, el resultado tiene una parte
entera e1 y una fraccionaria f1, ahora se multiplica la fraccionaria f1 por la base 2 y
se obtiene el nuevo producto con parte entera e2 y fraccionaria f2, este
procedimiento se repite de manera indefinida o hasta que se obtenga fi  0 . El
número x en el sistema binario se expresa por 0. e1e2 e3e4 .
Por ejemplo, dado el número real 0,2 en el sistema decimal expresar en su forma
binaria:
0,2 0,4 0,8 0,6 0,2 0,4
X2 X2 X2 X2 X2 X2
0,4 0,8 1,6 1,2 0,4 0,8
e1 f1 e2 f2 e3 f3 e4 f4 e5 f5 e6 f6
Se debe observar que desde f4 se repite la secuencia indefinidamente, obteniéndose
e1e2e3e4e1e2e3e4e1e2 ....
Por tanto, en forma binaria se tiene:
0.0011001100110011…

Otro ejemplo, dado el numero 99,2 expresar en forma binario. Para este efecto se
debe transformar la parte entera y decimal en forma separada o independiente al
sistema binario.
El número binario de 99 es 1100011.
El número binario de 0,2 es 0.00110011001100110011….

Por tanto, el número real 99,2 esta dado por:

1100011.0011001100110011…

Para convertir un numero fraccionario binario en sistema decimal, el procedimiento


es similar al caso de números enteros, solo se debe tomar en cuenta que la posición
inicia en -1 a partir del punto.

Por ejemplo, el número binario 0,0101110 se expresa en la forma decimal por medio
de la expresión:

0,010101110 = 0x2-1 + 1x2-2+0x2-3 +1x2-4 + 0x2-5 +1x2-6 + 1x2-7 + 1x2-8 + 0x2-9 = 0.0
+ 0,25 + 0.0 + 0,0625 + 0.0 + 0,015625 + 7,8125x10-3 + 3,90625x10-3 + 0 =
0,33984375

IV. REPRESENTACIÓN DE NÚMEROS ENTEROS EN UNA COMPUTADORA


Los números enteros se guardan en una computadora en una “Palabra” que está
constituida por cierto numero de bits, el primer bit se utiliza para representar el
signo: 0 para el signo positivo y 1 para el negativo, los bits restantes se utilizan para
almacenar el numero entero, por ejemplo, para representar el numero -173 en una
palabra de 16 bits, primero se expresa el entero 173 en binario dado por 10101101,
por tanto el numero -173 en una palabra de 16 bits esta dada por:

1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1

Signo Número

Para determinar la cantidad de números enteros que caben en una palabra dada,
consideremos una palabra de 5 bits, uno para el signo y cuatro para el número
entero.

Los valores extremos que se obtienen con cuatro bits están dadas por:
1 1 1 1 1 = - 15

1 0 0 0 0 =-0

0 0 0 0 0 =+0

0 1 1 1 1 =+15

Como el + 0 y - 0 son los mismos valores, por tanto la palabra

1 0 0 0 0

Se acuerda en representar al número entero -16.

Por tanto, el máximo número que se puede representar con una palabra de 4 bits
esta dada por la expresión (24-1)=15 enteros positivos y 24 =16 números enteros
negativos.
De manera general, si la palabra tiene 16 bits, 15 bits se utilizan para representar la
magnitud del numero entero cuyo máximo valor positivo corresponde a 215-1=32767
y 215=32768 enteros negativos, es decir, con una palabra de 16 bits se puede
representar los enteros desde -32768 a 32767.
V. REPRESENTACIÓN DE NÚMEROS DE PUNTOS FLOTANTES EN UNA
COMPUTADORA
Para guardar un número de punto flotante en una computadora, se debe expresar
en su forma normalizada y expresada en el siguiente formato:
0. b1 b2 b3 b4 b5 .... 2 e1 e2 e3

Donde, b1  1 y bi y e j i  2,3, 4,..., j  1, 2,3 pueden ser cero o unos.

El numero de punto flotante expresado de esta forma, se representa en una palabra


por ejemplo de 16 bits de la siguiente manera: el bit cero se usa para guardar el
signo del número, el siguiente bit se utiliza para almacenar el signo del exponente,
en los 6 bits restantes se almacenan el exponente de la base 2, es decir los e1 e2 e3 .... ,
y en los ocho bits restantes se guardan la mantisa b1 b2 b3 .... , es decir:
Signo del exponente

0 0 e1 e2 e3 e4 e5 e6 b1 b2 b3 b4 b5 b6 b7 b8

Signo del número exponente mantisa

Por ejemplo, para representar el número real -125.32 en una palabra de 16 bits, se
sigue los siguientes pasos:
Se representa la parte entera en binario, es decir: 125 = 1111101.
Se representa la parte decimal en binario, es decir: 0.32=0.010100011110101...
Por tanto, el número -125.32 en forma binaria está dada por:
1111101.010100011110101

Este número se debe normalizar, para lo cual se debe observar que el punto flotante
debe recorrer 7 posiciones a la izquierda, expresando el número 7 en forma binaria,
se tiene:
7= 1x22 + 1x21 +1x20 = 4+2+1 =7

El numero -125.32 expresado en forma binaria normalizado esta dada por la


expresión:

-0,11111010100011110101 x 2+111

Bits que se truncan

Expresados en una palabra de 16 bits se tiene:

1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0

Exponente mantisa

Se debe observar, que primero se normaliza el número, después se almacena los


primeros ocho bits y se truncan los restantes, es decir, se pierde información.
En el siguiente ejemplo se observa que se comete a veces errores significativos
cuando se almacena un número real en forma binaria.
Sea el número real 0.2, que expresada en forma binaria esta dada por:
0.2 = 0.00110011001100110011….

Como el punto flotante debe recorrer dos lugares hacia la derecha, que en binario se
expresa por 10, entonces el número 0.2 normalizado esta dada por la expresión:

0.2 = 0.11001100110011001 x 2-10

Expresado en una palabra de 16 bits se tiene:


0 1 0 0 0 0 1 0 1 1 0 0 1 1 0 0

Exponente mantisa
Expresando este número de punto flotante binario en forma de punto flotante
decimal, se tiene:
La mantisa:
1 x 2-1 + 1 x 2-2 + 0 x 2-3 + 0 x 2-4 +1 x 2-5 + 1 x 2-6 + 1 x 2-7 + 1 x 2-8 =
0,5 + 0,25 + 0 + 0 + 0,03125 + 0,015625 + 0 + 0 = 0,796875

El exponente 10 = 1 x 21 + 0 x 20 = 2
Por tanto el número en su forma real será:
+ 0,796875 x 2-2 = 0.19921875

Cuyo resultado muestra que existe una diferencia con el valor original, cuya
diferencia surge debido al truncamiento.

VI. PROBLEMAS
1. Convertir el número entero decimal 27032013 al sistema binario.
2. Convertir el número real 12.122012 al sistema binario.
3. Convertir el número entero binario 1010111101 al sistema decimal.
4. Convertir el número real binario 111000.110011 al sistema decimal.
5. Considerando una palabra de 64 bits, determina: a) el rango de enteros positivos
y negativos que se puede obtener, b) el rango de enteros positivos que se puede
obtener.
6. Considerando una palabra de 10 bits, de los cuales 2 se utilizan para los signos
del numero y el exponente respectivamente, 3 para el exponente y 5 para la mantisa,
determina: a) el mínimo real que se puede expresar, b) el máximo real que se puede
expresar, c) realizar un listado de los primeros 20 numero reales positivos que se
pueden expresar con esta palabra de 10 bits.
7. Realizar un programa en C, para convertir un numero entero en decimal a binario
y viceversa, aplica con una palabra de 16 bits.
8. Realizar un programa en C, para convertir un numero real en decimal a binario y
viceversa, aplica con una palabra de 32 bits, dos para los signos, 12 bits para el
exponente, y el resto para la mantisa.
TEMA II
TEORÍA DE ERRORES
II.1 INTRODUCCIÓN
Los métodos numéricos, son técnicas matemáticas mediante las cuales es posible
resolver problemas utilizando operaciones aritméticas.
Los métodos numéricos son una herramienta poderosa para resolver problemas que
no se pueden resolver analíticamente, tales como: sistemas de ecuaciones lineales
de un número grande de incógnitas, sistemas de ecuaciones no lineales, sistema de
ecuaciones diferenciales con geometrías complicadas, etc.
Se debe mencionar que los métodos numéricos dan solo una aproximación a la
solución de los problemas, a diferencia de los métodos analíticos que resuelve la
solución exacta, por tanto se concluye que los métodos numéricos están afectados
de cierto grado de error, que no es posible determinar por no conocerse la solución
analítica.
En realidad, los métodos numéricos proporcionan soluciones aproximadas a los
problemas reales de la cual solo se puede estimar su error y en el mejor de los casos
limitar el valor del error.
II.2 CIFRAS SIGNIFICATIVAS
El número de cifras significativas de un número cualquiera es igual a la cantidad de
dígitos que tiene el número, por ejemplo, el número 45,8 tiene 3 cifras significativas.
Se debe observar que:
Los ceros al inicio de un número no se consideran como cifras significativas, por
ejemplo, 0,056 tiene dos cifras significativas.
Los ceros al final de un número, pueden o no ser cifras significativas, dependiendo
de la exactitud del número, por ejemplo, 65.3500 puede tener: 4 cifras significativas
si la precisión del instrumento es del orden de las centésimas, 5 cifras significativas
si la precisión del instrumento es del orden de las milésimas, 6 cifras significativas
si el instrumento tiene una precisión del orden de las diez milésima. Para salir de
esta incertidumbre, el número se debe escribir en notación científica, llamado forma
normalizada, es decir:
m = 0,6535 x 102 tiene cuatro cifras significativas
m = 0,65350 x 102 tiene cinco cifras significativas
Si cierto número tiene n cifras significativas las primeras n-1 cifras significativas
son la seguras o correctas, y el ultimo digito es el dudoso o afectado de error, por
ejemplo si el numero es 0.345, los dígitos 3 y 4 son los dígitos seguros y el digito 5
es el dudoso.

II.3 EXACTITUD Y PRECISIÓN


Un valor medido o calculado es exacto, cuando este valor está más próximo al valor
verdadero. El término inexacto se define como una desviación sistemática del valor
verdadero.

Considerando varias medidas o calculadas, se dice que son precisas, cuando estas
se encuentran cerca unas de otras. El termino impreciso o incertidumbre se refiere a
la magnitud de la dispersión de las medidas o calculadas. La precisión está
determinada por el número de cifras significativas.

Estos conceptos se pueden ilustrar con una serie de tiros al blanco, mostrados en el
siguiente gráfico, donde el valor verdadero es el punto central. En el caso a y c son
igualmente inexactos por cuanto los lanzamientos se encuentran en la esquina
superior izquierdo, en cambio los casos b y d son igualmente exactos porque están
igualmente centradas respecto del blanco, aunque d es más precisa porque los
disparos están agrupados en forma compacta.

(a) (b)

(c) (d)
Figura 1.1 Esquematización de los conceptos exactitud y precisión a) Inexacto e impreciso, b) Exacto
e impreciso, c) Inexacto y preciso, d) Exacto y preciso.

Finalmente, se debe mencionar que los valores calculados con los métodos
numéricos deben ser lo suficientemente exactos, como también deben ser
suficientemente precisos.

II.4 DEFINICIONES DE ERROR


Como habíamos mencionado antes, las técnicas numéricas no predicen los valores
verdaderos, solo dan un valor aproximado, debido a las operaciones aritméticas que
involucran el método, que están afectadas por los llamados errores de truncamiento
y/o el error de redondeo.
El error de una medida o un cálculo numérico se define como la diferencia entre el
valor verdadero y el valor aproximado, es decir:
E  xv  xA

Donde, xv es el valor verdadero y x A es el valor aproximado.


Se debe observar que esta definición no considera el orden de la magnitud del valor
aproximado, por cuanto no es lo mismo medir el tamaño de un bolígrafo comparado
con el tamaño de un camión. En este sentido es necesario definir el error que
considere esta situación, llamado error relativo.
El error relativo Er se define como el error por unidad del valor verdadero, es decir:
xv  x A
Er 
xv

Este error es del tipo a dimensional.


También se puede definir el error relativo porcentual E % como el error relativo en la
escala de 0 a 100, definido por la expresión:
xv  xA
E%  100
xv

En situaciones reales, es difícil conocer el valor verdadero xv , que en el caso


numérico solo se conocerá cuando se resuelve analíticamente, que no es posible
determinarla, en estos casos reales se utiliza el error relativo porcentual
considerando como el valor verdadero el mejor valor aproximado, como también el
mejor error aproximado, es decir:
Error aproximado
E%  100
Valor aproximado

El reto de los métodos numéricos es obtener el valor aproximado del error, que
según sea el cao se puede determinar por métodos iterativos, que consiste en
encontrar el valor aproximado de manera sucesiva, calculando el ultimo valor
mejorado en función del anterior, en este caso, el error porcentual se puede estimar
por la aproximación.
Aproximación actual  Aproximación anterior
E%  100
Aproximación actual

II.5 ERRORES DE REDONDEO


Los errores de redondeo se originan en cálculos numéricos que utilizan un número
determinado de cifras significativas, por cuanto las computadoras representan a los
números reales con un determinado número de cifras significativas, además que
estos números se las representan en base 2.

Las computadoras comerciales que utilizan el formato IEEE, permiten usar 24 bits
para la mantisa, la cual se traduce en cerca 7 cifras significativas de precisión en
base 10 con un rango de 10-38 a 1039. También para casos que requieran mayor
precisión se puede utilizar las de doble precisión que dan un precisión de 15 a 16
dígitos decimales y un rango aproximado de 10-308 a 10308. Si bien las de doble
precisión reducen en gran medida el error de redondeo, pero el precio que se paga se
traduce en mayores requerimientos de memoria, como también mayor tiempo de
ejecución, por lo cual es necesario realizar un análisis detallado respecto del orden
de precisión que requiere el problema a resolver.

En los párrafos siguientes se verá cómo afecta al resultado de ciertos cálculos


cuando se trabaja con un determinado número de cifras significativas debido al
efecto de redondeo.

Para ilustrar los siguientes casos, se considera que la computadora trabaja con una
mantisa de cuatro cifras significativas.

a) Suma de números muy distintos en magnitud

Se desea sumar 0,002 a 600 con la computadora imaginaria de 4 cifras


significativas.

Primero se normaliza estos números, obteniéndose:


0,2 x 10-2 y 0,600 x 103

Escritos de esta manera no se puede sumar directamente, se debe escribir en la


siguiente forma y sumarlos posteriormente, es decir:

0,000002 x 103
0,600000 x 103
0,600002 x 103
Como la computadora trabaja con 4 cifras significativas, las dos ultimas cifras
significativas son eliminadas y la respuesta es 0,6000 x 103, por lo que se concluye
que esta suma nunca se realizo. Este tipo de errores es muy común y se
recomienda de ser posible, no sumar ni restar dos números muy diferentes.

b) Resta de dos números casi iguales

Considérese que se quiere restar el número 0,3544 de 0,3545, obteniéndose:

0,3545 x 100
0,3544 x 100
0,0001 x 100
Expresado en su forma normal se tiene 0,1 x 10-3 que solo tiene una cifra
significativa, se pierde 3 cifras significativas que en algunos casos puede ser
dramático como se muestra en el siguiente ejemplo:

Sea A=0,2145 x 100, B = 0,2144 x 100 y C = 0,1000 x 105 y supongamos que


deseamos calcular la formula:

x   A  B C

La diferencia A-B = 0,0001 x 100 que multiplicando por C da x = 1, pero si


consideramos que en el valor de A se comete un error muy pequeño dado por el
valor de A=0,2146 x 100 que da un error relativo de E%A = 0,05 %, realizando el
mismo calculo se tiene que A-B = 0,0002 que multiplicando por C da x = 2,
obteniéndose un error relativo del 100%, de la cual se puede concluir que un
pequeño error de redondeo puede provocar un error grande.

c) División entre un número muy pequeño

La división entre un número muy grande con otro muy pequeño puede generar un
error considerable, además, si este cociente se resta de otro número del mismo
tamaño relativo, puede magnificarse mas aun el error en la respuesta final.
Por ejemplo, considerando los valores de A = 0,1120 x 109, B = 0,1000 x 106 y C =
0,9000 x 10-3, se desea calcular la expresión x = A – B/C considerando una
computadora de cuatro dígitos.

El cociente B/C = 0,111111111 x 109 que con una computadora de 4 cifras será
B/C = 0,1111 x 109 de la misma manera el valor de x con 4 cifras será x = 0,9 x 106.

Ahora, si se considera que se comete un error en el valor de C dado por C = 0,9001 x


10-3, cuyo error relativo porcentual es de 0,01%, calculando el cociente con 4 cifras
significativas B/C = 0,1110 x 109 y el valor de x = 0,1000 x 107 existiendo un
error relativo de 11% y que puede conducir a un resultado final carente de
significado.

d) Overflow y underflow

El error de overflow se da cuando se combina aritméticamente dos números (por lo


general un producto o cociente) y dan como resultado un número tan grande que no
es posible representar en la computadora. Por lo general, las computadoras reportan
este tipo de error de alguna manera.

Si por el contrario, el resultado de la combinación aritmética es tan pequeño que


tampoco puede representarse en la computadora, se genera el error de underflow,
que por lo general no es tan serio como el caso del overflow y que por lo general las
computadoras no envían ningún mensaje de error.

e) El error de discretización

Como se estudio líneas arriba, un número real no se puede almacenar en la


memoria de una computadora de manera exacta en forma binaria, debido a la
limitación del número de bits que tiene una palabra y cualquier exceso de bits la
elimina, originando el llamado error de discretización. Por ejemplo, si se desea
sumar 10000 veces el número 0,0001, cuyo resultado correcto es 1, al realizar esta
suma en una computadora con precisión simple, el resultado es:
10000

 0, 0001  1, 000054
i1

Este resultado se obtiene por cuanto el numero decimal 0,0001 representado en


forma binaria es una serie de 0 y 1 que se truncan al ser almacenada en una
palabra.

II.6 ERROR POR TRUNCAMIENTO


Los errores de truncamiento resultan de resolver un problema real por medio de un
modelo, cuya solución es aproximada a través de un método numérico en lugar de
utilizar una solución matemática analítica exacta, por ejemplo, el cálculo de la
velocidad de una partícula conocida la relación función x=x(t), si derivamos
analíticamente esta función por la relación v  dx / dt se obtendrá una solución
exacta, pero, si se utiliza la aproximación numérica para la derivada dada por la
expresión v  ( xi 1  xi ) /(ti 1  ti ) , se comete un error de truncamiento debido a la
aproximación para la derivada.

Para estudiar los errores de truncamiento, la herramienta matemática útil es el


desarrollo de Taylor, que se utiliza con frecuencia en los métodos numéricos, la cual
se estudiara en el siguiente tema.

III. PROBLEMAS
1. Elaborar un programa C, de modo que el número: a) 0.0001 se sume 10000 veces
consigo mismo, b) 0.00001 se sume 100000 veces consigo mismo, c) 0.000001 se
sume 1000000 veces consigo mismo, d) 0.0000001 se sume 10000000 veces consigo
mismo, e) analice estos resultados.
2. Evalué la expresión 1/ (1  cos x) para un valor de x próximo a 0º, Probar por
ejemplo x=0.5º. Determinar un método para evitar la resta de dos números casi
iguales en el denominador.
3. Se desea evaluar la expresión f ( x)  e5 x en el punto x=1.0, si el valor de x se midió
con un pequeño error, obteniéndose el valor de 1.1, determina el error porcentual
que se cometerá al evaluar f ( x) .
4. Resolver el sistema de ecuaciones usando dos decimales para guardar los
resultados intermedios y finales, y calcula sus errores correspondientes.
21.76 x  24.34 y  1.24
14.16 x  15.84 y  1.15
El valor correcto para la solución con cinco decimales es de: x=-347.89167
y=311.06667.
5. Realice el Programa C para el siguiente código:
Paso 1: Leer A
Paso 2: Mientras A > 0, Repetir los pasos 3 y 4.
Paso 3: Imprimir ln(Exp(A)) –A, Exp(ln(A)) –A
Paso 4: Leer A
Paso 5: Terminar
a) Realizar este programa utilizando precisión simple, b) Realizar este programa
utilizando precisión doble.

También podría gustarte