Está en la página 1de 13

Mquinas y Computadoras

Aritmtica del
Computador








PUNO PER



Resumen:
La comunicacin con la computadora es en sistema decimal, es decir, se
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, que es 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.
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.















Introduccin:
La operacin interna de una computadora se basa en la aritmtica binaria, en
el que la base es 2 y slo hay dos smbolos: 0 y 1, pues la memoria de la
mquina consiste en un vasto nmero de dispositivos de registros magnticos
y electrnicos, 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.
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.














Objetivos:
Objetivo General.
Conocer la aritmtica del computador.
Objetivos Especficos.
Conocer el ALU (La Unidad Aritmtico Lgica).
Conocer la representacin de nmeros enteros y reales.
Conocer la aritmtica con enteros.
Conocer la aritmtica y representacin en como flotante.

Marco Terico:
1.- La unidad aritmtica lgica (ALU)
La unidad aritmtica lgica (ALU) forma parte de la Unidad Central de
Procesos (es decir, del Procesador, Microprocesador o CPU) mediante la cual es
posible realizar una gran cantidad de operaciones aritmticas bsicas (Suma,
Resta, Divisin y Multiplicacin) adems de realizar algunas operaciones Lgicas
(or, not, and, etc) entre dos nmeros o dos conjuntos de nmeros, que permiten
almacenar dgitos binarios y realizar operaciones lgicas booleanas elementales.



2.- Representacin Posicional de Sistemas numricos.
En el mbito de la computacin electrnica son particularmente interesantes los
sistemas numricos posicionales en las bases 2 (binario), 8 (octal), 10 (decimal) y
16 (hexadecimal). Esto es porque, las computadoras electrnicas modernas
operan en binario, en ceros y unos (los nicos dos dgitos en un sistema posicional
base 2). Los circuitos digitales de nuestras computadoras solo distinguen cuando
hay corriente en una lnea y cuando no la hay. Las bases 8 y 16 son interesantes
porque es muy fcil de convertir la expresin de un nmero entre cualquiera de
estas bases y la base 2 y viceversa.
Los dgitos en el sistema posicional binario, normalmente llamados bits (Dgitos
Binarios), son 0 y 1; los dgitos en el sistema octal son:0, 1,..., 7; los dgitos
en el sistema decimal son:0, 1,..., 9 y los dgitos en el sistema hexadecimal
son: 0, 1,..., 9, A, B, C, D, E, F.

Sistema Decimal

El sistema decimal comn es un sistema de numeracin posicional que
emplea 10 smbolos y donde la base es 10:

Smbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9





Sistema Binario

Los sistemas digitales pueden representar de forma "natural" nmeros en
base 2, donde emplea 2 smbolos:

Smbolos: 0,1





3.-Conversin entre sistemas de numeracin.

Conversin de cualquier base a base 10

Ocasionalmente puede presentarse el problema de obtener la
representacin de un nmero, dado en un sistema, en otro, por clculos a
mano. Es fcil convertir un nmero de notacin en base b a decimal.
Todo lo que se necesita es multiplicar cada dgito por la potencia de
apropiada y sumar los resultados. A continuacin veremos cmo puede
convertirse la representacin decimal de un nmero a un sistema de base
b.
El procedimiento trata a las partes entera y fraccionaria por separado, as
que supongamos, en primer lugar, que el nmero p dado es un entero
positivo. Entonces, en la base 2, este puede ser escrito en la forma:





Donde son los dgitos que queremos determinar. La igualdad anterior puede ser
escrita en la siguiente forma:





El procedimiento puede ser resumido de la siguiente manera:




Convertir un nmero entero positivo de base 10 a base b 2.

Considerando ahora el cociente entero de la divisin:





Resulta que el dgito

es el resto de la divisin entera de

por .

Procediendo sucesivamente tenemos que, si

denota el cociente de la
divisin entera por del paso anterior (definiendo

= p), tenemos que:







El proceso se detiene en , puesto que le dividendo en el paso (+1) es
cero. En efecto, siendo

+0(, es

= 0.

El procedimiento puede ser resumido de la siguiente manera:

29
---------------------------

29/2 = 14 resto 1
14/2 = 7 resto 0
7/2 = 3 resto 1
3/2 = 1 resto 1
1/2 = 0 resto 1

Entonces (29)10 = (11101)2.









Conversiones binario-octal, binario-hexadecimales y sus inversas

Los sistemas numricos octal y hexadecimal son importantes en el mbito de la
computacin electrnica porque, como mencionamos, es muy fcil pasar un
nmero de base 2 a base 8 16. Es decir, los programadores usan las bases 8 y
16 como medios para escribir, abreviadamente, nmeros en base 2.

Binario-octal

Para convertir la expresin binaria de un nmero a su correspondiente octal se
agrupan, de derecha a izquierda y de tres en tres, los bits del nmero y se escribe
el valor de cada terna.

Por ejemplo:

101 0012 = 518

Los tres bits menos significativos son 0012 esto es un 1

= 1, el digito octal
menos significativo y los siguientes tres son 1012 lo que equivale a

= 5, el
digito octal ms significativo. Si el nmero de bits en la expresin binaria no es
exactamente mltiplo de tres entonces no se alcanza a formar la terna ms
significativa, para arreglar esto simplemente se agregan tantos ceros a la izquierda
como sean necesarios.

Binario-hexadecimal

Para convertir la expresin binaria de un nmero a su correspondiente
hexadecimal se agrupan, de derecha a izquierda y de cuatro en cuatro, los bits del
nmero y se escribe el valor de cada cuarteta.

Por ejemplo:

10 10012 = 0010 10012 = 2916


Octal binario

Para convertir la expresin octal de un nmero a su correspondiente binaria se
reemplaza cada digito octal por la terna de bits que representa su valor en binario.

Por ejemplo:

2178 = 010 001 1112






Hexadecimal binario


Para convertir una expresin hexadecimal a binario se reemplaza cada digito
hexadecimal por la cuarteta binaria que representa su valor.

Por ejemplo:

F3016 = 1111 0011 00002



4.- Representacin de nmeros negativos

Signo y magnitud

Normalmente utilizamos el smbolo - precediendo a un nmero para indicar que
este es menor que cero. Esta es una notacin muy prctica en la vida cotidiana
pero no puede ser utilizada en la representacin que se hace de los nmeros en
una computadora, recordemos que slo se pueden utilizar los dgitos binarios para
representar cualquier cosa en ellas y el - no es ningn bit.

Pero podemos utilizar la misma idea, preceder el nmero de un bit que indique su
signo, despus de todo slo hay dos posibles signos, a saber: +y -. Todo lo que
tenemos que hacer es asignar arbitrariamente un bit a cada signo.
Convencionalmente se hace: + = 0, - = 1.

A este mtodo de representacin de nmeros negativos se le denomina signo y
magnitud porque, anlogamente a lo que solemos hacer, se coloca un smbolo que
precede al nmero y que indica su signo y luego se pone la magnitud del nmero.

En esta notacin por ejemplo:

1 010102 = 1010


De esta manera es muy fcil distinguir los nmeros positivos de los negativos, si
utilizamos un nmero fijo de bits para representarlos y decidimos que siempre el
primer bit es para el signo del nmero, entonces basta con observar el primer bit
de la izquierda (al que en este caso no podemos decirle formalmente el ms
significativo, dado que no tiene asociada ninguna potencia de 2) para determinar
si se trata de un nmero negativo o positivo.

En este caso la multiplicacin por -1 de un nmero equivale a negar o invertir el
bit de la extrema izquierda, esto es, convertirlo en cero si vale 1 y viceversa. De
hecho la idea fundamental detrs de la representacin de signo y magnitud es que
ocurra: (a) = a.
Lo que nos parece evidente por estar acostumbrados a nuestra representacin de
nmeros negativos convencional.
Un inconveniente del sistema de signo y magnitud es que existen dos
representaciones distintas para el cero, es decir, el neutro aditivo no es nico
formalmente hablando, tanto el 10. . . 0 como el 00 . . . 0 son cero, el primero con
signo -y el segundo con signo +, lo que tampoco es correcto desde el punto de
vista matemtico, dado que el cero no es ni positivo ni negativo.
Esta dualidad del cero tiene implicaciones importantes en una computadora digital.
Los procesadores tienen generalmente instrucciones para cambiar al flujo de los
programas llamados saltos, hay saltos incondicionales (siempre que el procesador
ejecuta la instruccin de salto la siguiente instruccin es aquella indicada por el
salto) y hay saltos condicionales (la instruccin siguiente es a veces la que est
bajo la del salto y a veces la indicada por el salto dependiendo de alguna
condicin). Y generalmente la condicin de salto es establecida comparando algn
dato con cero. Si hay dos representaciones del cero hay que hacer dos
comparaciones y eso lleva ms tiempo que hacer slo una.

Complemento a 1


Otra manera de representar nmeros negativos es la conocida como complemento
a 1. Para hablar de ella primero trataremos con una generalizacin.

El complemento a b 1 de un nmero r, representado en k dgitos en base b
se define como:

Cb1 (rb) = (b 1k. . . b 11) rb

Donde b 1 es el valor mximo de un dgito en base b.

Por ejemplo el complemento a 9 del nmero 1357910 es:

C9(1357910) = 99999 13579 = 8642010

Ntese que el minuendo que se ha usado tiene tantos nueves como dgitos tiene el
nmero 13579.

En el caso de nuestro sistema binario hablaremos del complemento a 1 del
nmero n en k bits como el resultado de restar n al nmero constituido por k
unos.

Por ejemplo:

C1(011012) = 11111 01101 = 100102

Ntese que cada bit del resultado es el negado del nmero original. De hecho esta
es la receta prctica para obtener el complemento a 1 de cualquier nmero binario
rpidamente.



Una alternativa de representacin de nmeros negativos en la computadora es
utilizando el complemento a 1, es decir, el negativo de un nmero es su
complemento a 1.

Por ejemplo:

1010 = 010102

1010 = 101012

igual que en el caso de signo y magnitud se adopta la convencin de que todos
los nmeros cuyo bit del extremo izquierdo sea cero son positivos y por ende,
todos aquellos cuyo bit del extremo izquierdo es 1 son negativos.

Nuevamente, como en signo y magnitud, la idea es que (a) = a. Tambin
tenemos el problema de que hay dos distintas representaciones para el cero: 0 0
y 1. . . 1. El primero es un cero con signo +y el segundo un cero con signo -.

Complemento a 2

Se debe al mencionado inconveniente que hay a dos representaciones diferentes del cero
en el contexto de nuestras computadoras digitales. Para evitar esto (que sin embargo se
puede sobrellevar), se invent otro mecanismo para representar nmeros negativos, se
denomina complemento a 2, eso nos lleva a considerar, en general, el complemento a la
base.

El complemento a b de un nmero r, representado en k dgitos en base b se define
como:

Cb(rb) = (1 0k . . . 01) rb

Ntese que el nmero que se utiliza ahora como minuendo tiene un dgito ms que los
usados en la representacin, es decir tiene k + 1 dgitos, un 1 seguido de k ceros a la
derecha.

Por ejemplo, el complemento a 10 de 1357910 es:

C10(1357910) = 100000 13579 = 8642110

El resultado es, evidente, el mismo que se obtuvo en el complemento a 9 incrementado
en uno, es decir: Cb(xb) = Cb1(xb) + 1.

En el caso particular de base 2, el complemento a 2 de un nmero x2 es el resultado de
sumar 1 al complemento a 1 de x2 que, como vimos, no es otro que el nmero negado bit
a bit.

Por ejemplo:

C2(011012) = 10010 + 00001 = 100112


El complemento a 2 del nmero x2 se obtiene copiando, de derecha a izquierda, todos los
bits de x2 hasta encontrar el primer 1 inclusivo e invertir todos los bits restantes hacia la
izquierda.

Por ejemplo:

C2(00110011 1002) = 11001100 1002



Entonces es posible representar el negativo de un nmero binario como su complemento
a 2. La idea detrs de esta representacin es que: a + (a) = 0. Un nmero ms su
negativo, que es de hecho su inverso aditivo, nos da cero, un nico cero. A diferencia de
signo y magnitud y de complemento a 1, en la representacin en complemento a 2 de
nmeros negativos tenemos una sola representacin de cero, a saber: 0 . . . 0. Esta vez el
negativo, es decir el complemento a 2, de 0. . . 0 es justamente 0. . . 0.

Adems conservamos la ventajosa propiedad exhibida por signo y magnitud y
complemento a 1 de poder determinar fcilmente si un nmero es negativo o positivo
observando el bit del extremo izquierdo.





Conclusiones: