Vous êtes sur la page 1sur 5

ARITMTICA BINARIA.

Las operaciones de sumar, restar, multiplicar y dividir en el sistema


binario se hacen de igual forma que en decimal, sin embargo, es normal
que la electrnica interna de las mquinas digitales solo tenga capacidad
para sumar. Otras operaciones diferentes a la suma se consiguen
mediante un conjunto de sumas: La resta de dos valores se consigue
sumando a uno de los valores el complemento del otro, es un truco muy
ingenioso que veremos en el siguiente apartado. El producto se hace
sumando a s mismo uno de los factores, tantas veces como indique el otro
factor. Su eficacia radica en la gran velocidad de clculo de los
procesadores, siendo frecuente adems un coprocesador matemtico
dedicado solo para operaciones, lo que reduce la carga del procesador
central. Por ltimo, una divisin solo es una cuestin de repartir a partes
iguales que se puede conseguir por aproximaciones sucesivas. A ttulo
informativo se describen a continuacin los 4 tipos de operaciones bsicas
pero como ya se ha indicado, solo presenta inters la suma.
Ejemplo de suma binaria: En binario, la cifra ms alta es el 1, por lo
tanto, cuando en la suma encontramos dos unos resulta 1 + 1 = 10,
entonces se deja el 0 y se arrastra el 1 para ser sumado a la izquierda.
Debido al 1 de arrastre pueden juntarse tres unos, con lo que obtenemos 1
+ 1 + 1 = 11 luego dejaremos un 1 y arrastramos otro 1 a la izquierda.

Ejemplo de resta binaria: Se ha puesto un ejemplo de resta en decimal


como punto de referencia para restar en binario. Vea que empezando por
la derecha, en cuarto lugar encontramos que de 7 a 13 van 6 y
arrastramos 1 a la izquierda que se suma al 4 (quedando 5 y faltando 3
para llegar a 8). En sexto lugar encontramos que de 9 a 15 van 6 y
arrastramos 1 a la izquierda que se suma al 9. Esto hace que 9 + 1 = 10,
con lo que queda 0 (de 0 a 4 van 4) y se arrastra el 1 para sumarse al 1 del
extremo izquierdo, con lo que de 2 a 5 van 3. En el ejemplo binario, en
cuarto lugar comenzando por la derecha, encontraremos que de 1 a 10
(ser 2 pasado a decimal) va 1 y se arrastra 1 a la izquierda para sumar al
0. En sexto lugar volvemos a encontrar que de 1 a 10 va 1 y se arrastra 1 a

la izquierda para sumar al 1 (esto desencadena otro arrastre hasta la

ltima posicin izquierda).


Ejemplo de producto binario: La multiplicacin es tan sencilla que no se
necesita explicacin. Si sabemos multiplicar en sistema decimal no
encontraremos ningn problema para hacerlo en binario. Si el nmero de
cifras es grande, es posible que se junten muchos unos en las sumas
finales, por ejemplo 5 unos cuya suma binaria es 101, en cuyo caso queda
1, se arrastra un 0 a la izquierda (que no afecta) y se arrastra un 1 dos

lugares a la izquierda.
Ejemplo de divisin binaria: En este ejemplo, hay que comenzar cogiendo
4 cifras del dividendo para sobrepasar al divisor. As resulta que 1011
entre 111 toca a 1 (solo puede ser 1 o 0). 1 por 111 es 111 y falta 100 hasta
llegar a 1011. Bajando la siguiente cifra (un 0) resulta que 1000 entre 111

toca a 1. As sucesivamente.
LOS COMPLEMENTOS.
El problema que se trata de resolver es la forma de expresar nmeros
negativos en el sistema binario, valindonos nicamente de seales que
solo pueden ser verdaderas o falsas. Es cierto que una de las seales
podra representar el signo y el resto de las cifras formaran siempre un
valor positivo, pero la electrnica del dispositivo sera compleja porque
debera ser capaz de restar cuando encontrara el signo menos.

Parece imposible, pero los complementos permiten hacer restas mediante


sumas y reducen con ello la electrnica de la mquina. Cree por ejemplo
que el valor 9279 es igual a -721? Si los valores (en este ejemplo) se
manipulan siempre en registros de 4 cifras y todo lo que se salga
desaparece, entonces es cierto y lo vamos a ver: Si hacemos la suma 721 +
9279 se obtiene el valor 10000, pero como se ha dicho, en un registro de 4
cifras solo caben los 4 ceros y el 1 se pierde. Si en el registro solo hay
ceros, el resultado hay que considerarlo 0, por lo tanto 721 + 9279 = 0, lo
que solo es posible si 9279 es igual a -721.
Por supuesto, se puede pensar que se trata de un truco, y lo es, pero esto
es lo que funciona realmente en los dispositivos digitales: Cuando
introducimos dos valores y los restamos, la mquina transforma uno de
los datos de manera que resuelve la resta haciendo una suma. Las reglas
de la transformacin tienen que ser muy simples ya que de lo contrario
no compensara el esfuerzo y tratndose del sistema binario, realmente
son muy sencillas.
El complemento a 1 de un valor binario se obtiene invirtiendo el estado de
todas sus cifras, incluyendo los ceros a la izquierda hasta completar la
capacidad del registro. Por ejemplo, el valor 10011 en un registro de 8 bits
(cifras) ser 00010011 y su complemento a 1 ser 11101100.
El complemento a 2 de un valor binario se obtiene sumando 1 al
complemento a 1. Por ejemplo, el complemento a 2 de 10011 (el mismo
anterior) ser 11101100 + 1 = 11101101.
Cmo restar sumando: El complemento a 2 de un nmero binario se
puede considerar directamente su equivalente negativo. Por lo tanto, para
hacer la resta a - b = x? basta con calcular el resultado "x" (sin olvidar
el tamao del registro que se utilice) como:
x = a + (complemento a 2 de b)
El tamao de los registros es normalmente el nmero de bits del
procesador de la mquina, actualmente 32 en la mayora de los
ordenadores y autmatas industriales. Otra forma de restar sumando
consiste en utilizar el complemento a 1, pero en este caso, el 1 de arrastre
que se sale fuera del registro se suma de nuevo al resultado, quedando en
el registro el resultado esperado de la resta.
Bit de signo: Suponiendo que un registro es de 4 bits, qu podemos
pensar de un valor como 1101? ser positivo o negativo? No hay duda:
Cuando el bit de mayor peso (el que est ms a la izquierda en el registro
que contiene al nmero) sea un uno significa que es negativo y si es un

cero ser positivo. Esto es as porque al complementar un valor (al


hacerlo negativo), los ceros a la izquierda tambin se transforman en
unos, incluido el bit de mayor peso. Como el complemento a 2 de 1101 es
0011, entonces resulta que 1101 = -0011 = -310.
La conclusin anterior afecta directamente a la programacin de
cualquier dispositivo programable, as por ejemplo cuando se define un
dato como entero con signo en un procesador de 32 bits, el nmero
positivo ms grande ser un cero seguido de 31 unos, que equivale en
decimal a 231 - 1. Igualmente, el valor negativo ms bajo ser un uno
seguido de 31 ceros, que equivale en decimal a -(2 31). Por el contrario,
cuando un dato se define como entero sin signo, el contenido siempre ser
positivo, siendo el valor ms bajo el cero y el ms grande ser 2 32 - 1, es
decir, 32 unos. En programacin, cada tipo de dato tiene asignado un
determinado nmero de bits, otros ejemplos pueden ser los enteros largos
y los reales o dobles, a los que se destina normalmente el doble de bits que
al entero. Lo importante es que debe tenerse una cierta precaucin en las
operaciones, ya que si el resultado desborda la capacidad del registro
podemos encontrarnos con la sorpresa de que nos devuelve un valor
extrao que adems puede estar cambiado de signo.
NMEROS REALES (coma flotante).
Nmeros como 10, 45 o -13 son valores enteros que se manipulan con las
operaciones que ya conocemos. Otra cosa son los valores como 25,47 que
no son enteros pero al igual que los anteriores forman parte del conjunto
de los nmeros reales. En binario tambin tienen representacin los
nmeros con decimales: Cada cifra que haya despus de la coma tiene
igualmente un peso que depende de su posicin, comienza por la
izquierda con valor igual a 1/2 y decrece hacia la derecha, siempre
multiplicando por 1/2 para obtener el siguiente. Veamos un ejemplo:
11001,0112 = 116 + 18 + 04 + 02 + 11 + 0(1/2) + 1(1/4) + 1(1/8) =
25,37510
Para pasar de decimal a binario se pasa normalmente la parte entera y la
parte decimal se va multiplicando por 2 hasta que se anulan los decimales
y los decimales binarios se obtienen con la parte entera que se obtiene en
cada paso. Por ejemplo:
25,37510 = 25 + 0,375 = 110012 + decimales
0,3752 = 0,750 (primer decimal el 0); 0,752 = 1,50 (segundo decimal el 1);
0,502 = 1,0 (tercer decimal el 1).

Queda finalmente: 25,37510 = 11001,0112


La forma anterior de proceder es complicada de implementar con
electrnica digital o al menos existe otra manera mucho ms sencilla que
es la coma flotante. Sin coma flotante, es necesario seguir la pista a la
posicin de la coma cada vez que se hace una operacin y al operar con
los valores de dos registros no puede relacionarse directamente bit con bit
de iguales posiciones, ya que al variar las posiciones de las comas hacen
que los pesos de cada bit tambin se desplacen.
En coma flotante cada nmero se expresa con un valor entero y un
exponente de la base del sistema, por ejemplo, el valor -43,425 ser igual a
-4342510-3 (notacin cientfica), es decir, queda definido por el valor
entero -43425 y el exponente -3. En los registros, se destina un nmero
fijo de cifras para el valor entero y el resto de cifras para el exponente. Al
multiplicar los valores de dos registros, simplemente se multiplican los
enteros y se suman los exponentes. Al dividir, se dividen los enteros y se
restan los exponentes. Para sumar o restar dos valores, se suman o restan
los enteros y se mantienen los exponentes, siempre y cuando tengan igual
exponente. Por ejemplo, no se puede sumar directamente 10310-2 con
23510-1, pero s se puede sumar 10310-2 con 235010-2 porque ya tienen
igual exponente y el resultado ser (103 + 2350)10 -2. Ntese que al restar
un valor al exponente, hay que multiplicar al entero por la base (10 en
sistema decimal, 2 en binario) elevada al valor que se resta al exponente.
Los valores lmite en este tipo de representacin dependen por separado
del nmero de bits asignados al entero y al exponente.

Vous aimerez peut-être aussi