Sunteți pe pagina 1din 20

ARITMETICA DE

LA COMPUTADORA
LARA SAENZ Jaime Richard
UNIVERSIDAD NACIONAL DEL SANTA



UNIVERSIDAD NACIONAL DEL SANTA

1 ARITMETICA DE LA COMPUTADORA
1
Ao de la Integracin Nacional y el Reconocimiento de Nuestra Diversidad

UNIVERSIDAD NACIONAL DEL SANTA
FACULTAD DE INGENIERA
ESCUELA ACADEMICA PROFESIONAL INGENIERA MECNICA










ASIGNATURA:
Simulacin Numrica
DOCENTE:
CHAVEZ GALARZA, Michael

INTEGRANTES:
LARA SENZ, Jaime Richard.
CICLO:
V

Nvo Chimbote, Mayo de 2012


UNIVERSIDAD NACIONAL DEL SANTA

2 ARITMETICA DE LA COMPUTADORA
2
Aritme tica de la computadora
El usuario se comunica con la computadora en sistema decimal, es decir, introduce en
ella y extrae de ella nmeros en base decimal. Al recibir los datos, para poder trabajar
con ellos, la computadora los convierte al sistema binario, su lenguaje natural de
operacin. Todas las operaciones se efectan en binario y los resultados obtenidos,
antes de ser entregados al usuario, la mquina los convierte al sistema decimal. Claro
est que la computadora realiza estos procesos a enormes velocidades, de manera que
el usuario ni se entera de lo que sucede ah dentro.
Sin embargo, al efectuar las conversiones y realizar los clculos se suscitan pequeos
errores que, si no se prevn, pueden propagarse y arrojar resultados muy inexactos o
totalmente absurdos. Por eso es tan importante el entender la aritmtica de las
computadoras e identificar las situaciones en que pueden ocurrir errores severos.
La operacin interna de una computadora se basa en la aritmtica binaria, en la que la
base es el 2 y slo hay dos smbolos: 0 y 1, pues la memoria de la mquina consiste en
un vasto nmero de dispositivos de registro magntico y electrnico, cada uno de los
cuales slo puede presentar uno de dos posibles estados: magnetizado en un sentido,
representando al cero, o magnetizado en el otro sentido, representando al uno. Cada
dispositivo magntico es un dgito binario, denominado bit (abreviatura de "binary
digit").
Los bits se agrupan en unidades llamadas palabras, las cuales pueden contener 8, 16,
32 o 64 bits, dependiendo de la computadora de que se trate (los tamaos de palabra
ms usuales son los de 16 o de 32 bits). Tambin se utilizan otras unidades
denominadas bytes, constituidos generalmente por 8 bits, y utilizados como
particiones de palabras, para representar caracteres. As, por ejemplo, una palabra de
32 bits consta de 4 bytes.
La manera en que se usan los bits para registrar los nmeros enteros y los nmeros
fraccionarios, vara en funcin del diseo de la computador.

UNIVERSIDAD NACIONAL DEL SANTA

3 ARITMETICA DE LA COMPUTADORA
3
Los nu meros enteros en
computadora
Los nmeros enteros requieren de al menos una palabra para almacenarse dentro
de la memoria de la computadora; si el tamao de palabra de la computadora es
de 2 bytes (16 bits), el primer bit registra el signo: positivo si es 0, negativo si es 1, y
los 15 bits restantes se usan para registrar nmeros enteros binarios en el rango de
000000000000000 a 111111111111111.

n
1
n
2
n
3
n
4
n
5
n
6
n
7
n
8
n
9
n
10
n
11
n
12
n
13
n
14
n
15

Al convertir el nmero binario 111111111111111 a sistema decimal, se obtienen
las cotas inferior y superior en sistema decimal:
2
14
+ 2
13
+ 2
12
+ 2
11
+ 2
10
+ 2
9
+ 2
8
+ 2
7
+ 2
6
+ 2
5
+ 2
4
+ 2
3
+ 2
2
+ 2
1
+ 2
0
= 2
15
- 1 = 32767
Conforme a esto, el mayor entero positivo posible sera el 32767 y el menor
entero negativo posible sera el -32767; pero la mayora de las computadoras
usan el complemento a dos para almacenar los nmeros negativos, lo cual
consiste en cambiar la interpretacin de la polaridad en los dispositivos
magnticos e incrementar en 1 el resultado obtenido; esto hace que su rango
se incremente en 1, para que sea -32768.
0000000000000000
2
= 0 1000000000000000
2
= -32768
10

Los nmeros positivos se registran as:
0000000000000001
2
= 1
10
... 0111111111111111
2
= 32767
10

Para los nmeros negativos, la polaridad se invierte: los ceros se cambian por
unos y los unos por ceros y se le aade un 1 al resultado, de manera que su
registro se hace as:

UNIVERSIDAD NACIONAL DEL SANTA

4 ARITMETICA DE LA COMPUTADORA
4
1111111111111111
2
= -1
10
... 1000000000000001
2
= -32767
10

Entonces, el rango de almacenamiento de nmeros enteros decimales, en
mquinas con palabras de memoria de 16 bits es: (-32,768, 32,767), valores
ms que suficientes para lo que requiere un ingeniero.
Si el tamao de palabra de la computadora es de 4 bytes (32 bits), el campo
correspondiente es conocido como entero largo, pues el rango se incrementa
sustancialmente: (-2147,483,648, 2147,483,647), obtenido de 2
31
1, con
complemento a dos.
Ejemplo: Representar el nmero 28345
10
en sistema binario, en una palabra de
16 bits.


UNIVERSIDAD NACIONAL DEL SANTA

5 ARITMETICA DE LA COMPUTADORA
5
28345 1
14172 0
7086 0
3543 1
1771 1
885 1
442 0
221 1
110 0
55 1
27 1
13 1
6 0
3 1
1 1
0
0

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

Ejemplo: Identificar qu nmero entero decimal est representado en la siguiente
palabra de 16 bits.
0 0 0 0 0 1 1 0 1 1 1 1 1 0 1 0


UNIVERSIDAD NACIONAL DEL SANTA

6 ARITMETICA DE LA COMPUTADORA
6
2
10
+ 2
9
+ 2
7
+ 2
6
+ 2
5
+ 2
4
+ 2
3
+ 2
1
= 1786
10
Ejemplo: Representar el nmero -2849
10
en sistema binario, en una palabra de 16 bits,
usando complemento a dos.
2849 1
1424 0
712 0
356 0
178 0
89 1
44 0
22 0
11 1
5 1
2 0
1 1
0


Complementamos el valor a 15 caracteres: 000101100100001
2

Cambiamos la polaridad: 111010011011110
2

Le sumamos 1: 111010011011111
2


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

Ejemplo: Identificar qu nmero entero decimal est representado en la siguiente
palabra de 16 bits, usando complemento a dos.
1 1 1 1 0 1 0 0 1 1 0 1 1 1 1 1

UNIVERSIDAD NACIONAL DEL SANTA

7 ARITMETICA DE LA COMPUTADORA
7

El valor sin signo en 15 caracteres es: 111011001010011
2

Le restamos 1: 111011001010010
2

Cambiamos la polaridad: 000100110101101
2

- (211 + 28 + 27 + 25 + 23 + 22 + 20) = -2477
10

Es fcil darse cuenta que el manejo de nmeros enteros en computadora no tiene el
ms mnimo problema, siempre que los nmeros introducidos o los resultados del
procesamiento no sobrepasen el rango establecido.
Los nmeros reales en computadora

Las computadoras tambin manejan los nmeros reales en sistema binario, pero
no pueden hacerlo de manera exacta, porque el nmero de dgitos est limitado
por el tamao de palabra de cada mquina. La memoria de la computadora
impone as una restriccin a la precisin y exactitud de los nmeros reales, pues al
registrarlos, necesariamente son redondeados, cometiendo con ello pequeos
errores. Claro que esta limitacin no es privativa de la computadoras; en los
clculos a mano o usando cualquier tipo de calculadora, tambin tenemos que
hacer redondeos.
La forma de registrar un nmero real en una computadora digital depende del
diseo del hardware y del software; sin embargo, el formato es del mismo tipo en
todos los casos y se basa en el principio de utilizar la notacin de punto flotante
normalizado.
Cualquier nmero real decimal X puede ser expresado en notacin cientfica
normalizada; sta consiste en expresar el nmero como una potencia de 10,
asignndole el exponente n que resulte de desplazar el punto decimal las
posiciones necesarias para que todos los dgitos significativos del nmero en
cuestin queden inmediatamente a la derecha del punto, garantizando que el

UNIVERSIDAD NACIONAL DEL SANTA

8 ARITMETICA DE LA COMPUTADORA
8
primero de ellos sea diferente de cero:
X = F x 10
n

donde F es un nmero menor que 1 y mayor o igual que 0.1: 0.1 F < 1
y n es un entero positivo, negativo o cero: n Z
Ejemplos: 836.238
10
= 0.836238 x 10
3

-0.00672813
10
= -0.672813 x 10
-2
De la misma manera, aunque con valores significativos diferentes, en sistema
binario tambin se puede expresar cualquier nmero real con la notacin cientfica
normalizada, a la que en este caso se le llama notacin de punto flotante
normalizado.
X = G x 2
m

donde el exponente m es un entero positivo, negativo o cero, expresado en
binario, y G es la mantisa del nmero, la cual debe ser menor que 1 y mayor o igual
que 0.1
2
( 0.5
10
).
Por ejemplo: 11111.01
2
= 0.1111101
2
x 2
101

-0.00000011101101
2
= 0.11101101
2
x 2
-110

La manera ms comn de almacenar nmeros reales en una PC es utilizando
palabras de 32 bits (4 bytes), distribuidos como sigue:
1 bit para el signo de la mantisa,
1 bit para el signo del exponente,
7 bits para el exponente entero, expresado en binario
23 bits para la mantisa, expresada en binario
0.1mmmmmmmmmmmmmmmmmmmmmmm x 2
eeeeeee


UNIVERSIDAD NACIONAL DEL SANTA

9 ARITMETICA DE LA COMPUTADORA
9
m = 0, 1 ; e = 0, 1
En virtud de que la mantisa siempre empieza con 1, no hay necesidad de
almacenar ste 1, de manera que los 23 bits reservados para la mantisa son para
guardar desde el segundo hasta el veinticuatroavo carcter del nmero binario en
punto flotante.
e

e

e

e

e

e

e

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m

m


Los 7 bits destinados al exponente se usan para registrar nmeros enteros binarios
en el rango de 0000000 a 1111111. Su signo se controla por separado (distinguido
en rojo).
Conforme a esto, el mayor exponente positivo posible sera el 127 y el menor
exponente negativo posible sera el -127; pero usando el complemento a dos,
su rango se incrementa en 1, para que sea -128.
Los exponentes positivos se registran as:
00000001
2
= 1
10
... 01111111
2
= 127
10

Para los nmeros negativos, la polaridad se invierte: los ceros se cambian por
unos y los unos por ceros y se le aade un 1 al resultado, de manera que su
registro se hace as:
11111111
2
= -1
10
... 10000001
2
= -127
10

Para analizar el rango de valores de la mantisa se consideran 24 bits: el 1 que
no se guarda y los 23 bits reservados que si quedan almacenados. Entonces, se
pueden registrar nmeros fraccionarios binarios en el rango de
0.100000000000000000000000 a 0.111111111111111111111111
El valor fraccionario ms pequeo equivale a 0.5 en decimal es: 2
-1
= 0.5
El valor fraccionario ms grande equivale a 0.999999940395 en decimal: 24

UNIVERSIDAD NACIONAL DEL SANTA

10 ARITMETICA DE LA COMPUTADORA
10
2
- j
= 1 - 2
-24
= 0.999999940395355224609375 ; j=1
Ahora bien, considerando simultneamente los rangos del exponente y de la
mantisa, podemos determinar el rango correspondiente a los nmeros reales:
El nmero real positivo ms pequeo que puede representarse es:
0.5 x 2
-128
1.47 x 10
-39

El nmero real positivo ms grande que puede representarse es:
0.999999940395355224609375 x 2
127
1.70 x 10
38

De manera que el rango total para los nmeros reales positivos o negativos, en este
tipo de computadora es de 1.47 x 10
-39
a 1.70 x 10
38
.














UNIVERSIDAD NACIONAL DEL SANTA

11 ARITMETICA DE LA COMPUTADORA
11
Ejemplo: Representar en sistema binario, en una palabra de 32 bits, el nmero 31.25
10

31.25
10
= 0.3125
10
x 10
2
= 0.3125
10
x 100
1

0.3125 100 0
0.6250 0 50 0
0.2500 1 25 1
0.5000 0 12 0
0.0000 1 6 0
3 1
1 1
0

31.25
10
= 0.0101
2
x 1100100
2
= 11111.01
2
= 0.1111101
2
x 2
101

Recordando que el primer 1 de la mantisa no se almacena, la representacin queda:
0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Ejemplo: Identificar el nmero real decimal que est representado en la siguiente
palabra de 32 bits:
0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Recordando que el primer uno no est representado, el nmero en binario es:
0.10000111
2
x 2
101
= 10000.111
2


UNIVERSIDAD NACIONAL DEL SANTA

12 ARITMETICA DE LA COMPUTADORA
12
2
4
+ 2
-1
+ 2
-2
+ 2
-3
= 16 + 0.5 + 0.25 + 0.125 = 16.875
10
Ejemplo: Identificar el nmero real decimal que est representado en la siguiente
palabra de 32 bits:
0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Dado que el exponente es negativo, le aplicamos el inverso del complemento a dos:
primero restndole 1 y luego cambiando la polaridad:
1110111
2
- 1
2
= 1110110
2
~ 0001001
2
, con lo que el exponente es:
-1001
2

Recordando que el primer 1 no est representado, la mantisa es: 0.1
2

El nmero en binario es: 0.1
2
x 2
-1001
= 0.0000000001
2

y en decimal: 2
-10
= 0.0009765625
10











UNIVERSIDAD NACIONAL DEL SANTA

13 ARITMETICA DE LA COMPUTADORA
13
Ejemplo: Representar en sistema binario, en una palabra de 32 bits, el nmero -
0.00072161910
Requerimos de 25 cifras, a partir del primer 1 (24 a conservar y 1 para
redondear)
0.000721619 0.168091136 1
0.001443238 0 0.336182272 0
0.002886476 0 0.672364544 0
0.005772952 0 0.344729088 1
0.011545904 0 0.689458176 0
0.023091808 0 0.378916352 1
0.046183616 0 0.757832704 0
0.092367232 0 0.515665408 1
0.184734464 0 0.031330816 1
0.369468928 0 0.062661632 0
0.738937856 0 0.125323264 0
0.477875712 1 0.250646528 0
0.955751424 0 0.501293056 0
0.911502848 1 0.002586112 1
0.823005696 1 0.005172224 0
0.646011392 1 0.010344448 0
0.292022784 1 0.020688896 0
0.584045568 0 0.041377792 0

UNIVERSIDAD NACIONAL DEL SANTA

14 ARITMETICA DE LA COMPUTADORA
14
La ltima cifra nos sirve para redondear la penltima.
- 0.000721619
10
= - 0.0000000000101111010010101100001000
2

= - 0.101111010010101100001000
2
x 2
-1011

Por ser un exponente negativo, le aplicamos el complemento a dos: primero
complementndolo a 7 cifras, luego invirtiendo la polaridad y finalmente sumndole
un 1:
0001011
2
1110100
2
+ 1
2
= 1110101
2

Recordando que el primer 1 de la mantisa no se almacena, la representacin queda:
1 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 0 1 0 0 0

Ejemplo: Suponga que una computadora maneja palabras de 16 bits; cul sera el
resultado de sumar mil veces el nmero fraccionario 1/100? cul sera el error
absoluto? Y cul el relativo?. Considere que la computadora recibe las cifras en
sistema decimal, las convierte a binario, hace las operaciones en binario y el resultado
lo traduce a decimal. Considere los dos bits para los signos, cinco bits para el
exponente y nueve espacios para la mantisa.


UNIVERSIDAD NACIONAL DEL SANTA

15 ARITMETICA DE LA COMPUTADORA
15
0.01
0.02 0
0.04 0
0.08 0
0.16 0
0.32 0
0.64 0
0.28 1
0.56 0
0.12 1
0.24 0
0.48 0
0.96 0
0.92 1
0.84 1
0.68 1
0.36 1


El resultado exacto del producto anterior es, en binario:
1001111100.10111000 x 2
-110

1000 0
500 0
250 0
125 1
62 0
31 1
15 1
7 1
3 1

UNIVERSIDAD NACIONAL DEL SANTA

16 ARITMETICA DE LA COMPUTADORA
16
Cifra que redondeada a 10 bits, en formato de punto flotante, queda expresada:
1001.111101 = 0.1001111101 x 2
100

Este resultado en binario, traducido a decimal da:
=(0.50+0.0625+0.03125+0.015625+0.0078125+0.00390625+0.0009765625) x
2
100

= 0.6220703125 x 16 = 9.953125
10

El verdadero valor de la operacin es: 1/100 x 1000 = 10
El error absoluto cometido es: E = 10 9.953125 = 0.046875
El error relativo es: e = 0.046875/10 = 0.0046875 ; e = 0.47%
No obstante el rango tan amplio de manejo, los nmeros reales no corresponden a un
continuo en la computadora, sino que hay un conjunto finito de valores discretizados,
que pueden ser representados de manera perfecta, mientras que el resto no pueden
ser expresados con exactitud y precisin y slo es posible representarlos en forma
aproximada.
Por ejemplo, si el nmero real ms pequeo que puede representarse en una
computadora como la descrita anteriormente es:
0.5 x 2
-128
1.47 x 10
-39
,
significa que no se pueden representar nmeros reales en el intervalo que est
entre 0 y 1.47 x 10
-39
.
Si el nmero real ms grande que puede representarse es:
1.70141173319 x 10
38
,
y el nmero positivo inmediato menor a ste, que se puede representar es: 23
( 2
-j
) x 2
127
= (1 - 2
-23
) x 2
127
1.70141163178 x 10
38
; j=1
Entre estos dos ltimos valores, tampoco se puede representar ningn nmero real

UNIVERSIDAD NACIONAL DEL SANTA

17 ARITMETICA DE LA COMPUTADORA
17
con notacin de punto flotante en este tipo de computadora; el tamao de este
intervalo es 1.0141 x 10
31
, que es 6.9 x 10
69
veces ms grande que el correspondiente a
valores ms pequeos: 1.47 x 10
-39
. Esto significa que la distribucin de nmeros
reales que pueden ser representados en una computadora no es uniforme, sino que
hay mucho mayor densidad en los valores ms pequeos que en los ms grandes.
Pareciera que la imposibilidad de las computadoras para representar cualquier nmero
real, con exactitud y precisin, se torna en un asunto grave. No es as, ya que los
"huecos" son extraordinariamente pequeos, an en el caso ms desfavorable,
correspondiente a los nmeros ms grandes. Si comparamos stos: 1.70141163178 x
10
38
y 1.70141173319 x 10
38
, vemos que son realmente muy cercanos: la primera
diferencia entre ellos se presenta hasta el octavo dgito; esto significa, que los
primeros siete dgitos significativos nos ofrecen una confiabilidad total, ms que
sobrada para fines de ingeniera.
Para casos muy eventuales se usa el recurso de doble precisin que ofrecen las propias
computadoras y que consiste en utilizar un doble tamao de palabra (8 bytes o 64 bits)
para representar y almacenar nmeros reales en formato de punto flotante. La
desventaja de utilizar tal recurso es el mayor consumo de memoria y el mayor tiempo
de ejecucin de los programas, los cuales, al menos, se duplican.
psilon de una computadora

Se define como psilon de una mquina al valor absoluto de la diferencia entre 1 y el
menor nmero mayor que 1, pero distinguible de 1, que puede ser representado en la
computadora. Para la mquina que hemos analizado anteriormente, el nmero ms
pequeo mayor que uno es:
0.100000000000000000000001 x 2
1
= (2
-1
+ 2
-24
) x 2
1
= 1.00000011921
10

por lo que el psilon de esta mquina es:
1.00000011921 - 1 = 0.00000011921 1.19 x 10
-7


UNIVERSIDAD NACIONAL DEL SANTA

18 ARITMETICA DE LA COMPUTADORA
18
Evidentemente, mientras menor sea el psilon de una mquina, mayor es el conjunto
de nmeros que puede representar en formato de punto flotante.
Ejemplo: Considere una computadora que utiliza palabras de memoria de 16 bits para
almacenar nmeros reales en formato de punto flotante, guarda hasta 8 cifras de la
mantisa, excluido el primer 1, y aplica el complemento a dos a los exponentes
negativos. Si los 16 bits estn distribuidos como sigue:
1 bit para el signo de la mantisa,
1 bit para el signo del exponente,
6 bits para el exponente entero, expresado en binario
8 bits para la mantisa, expresada en binario
a) determinar el rango de valores que podra representar y almacenar
esta computadora hipottica.
b) calcular el psilon correspondiente a esta mquina.
a) Los 6 bits destinados al exponente se usan para registrar nmeros enteros
binarios en el rango de 000000 a 111111. Su signo se controla por separado. El
mayor exponente positivo posible sera: 2
6
- 1 = 63 y el menor exponente
negativo posible sera el -64, por la aplicacin del complemento a dos.
Los 8 bits reservados para la mantisa se usan para registrar nmeros fraccionarios en el
rango de 0.100000000 a 0.111111111. El valor fraccionario ms pequeo equivale a
0.5 en decimal y el valor fraccionario ms grande equivale a 0.998134375 en decimal:
9
2
-j
= 1 - 2
-9
= 0.998046875
j=1
Entonces, el nmero real ms pequeo que puede representarse es:

UNIVERSIDAD NACIONAL DEL SANTA

19 ARITMETICA DE LA COMPUTADORA
19
0.5 x 2
-64
2.71 x 10
-20

y el nmero real ms grande, que puede representarse es:
0.998046875 x 2
63
9.21 x 10
18

b) El nmero ms pequeo mayor que uno, que podra almacenarse es:
0.100000001 x 2
1
= (2
-1
+ 2
-9
) x 2
1
= 1.00393125
10

por lo que el psilon de esta mquina sera:
1.00393125 - 1 = 0.00393125 = 3.93 x 10
-3

S-ar putea să vă placă și