Вы находитесь на странице: 1из 9

OPERACIONES BINARIAS

La Unidad Aritmtico Lgica, en la CPU del procesador, es capaz de realizar


operaciones aritmticas, con datos numricos expresados en el sistema
binario. Naturalmente, esas operaciones incluyen la adicin, la sustraccin, el
producto y la divisin. Las operaciones se hacen del mismo modo que en el
sistema decimal, pero debido a la sencillez del sistema de numeracin, pueden
hacerse algunas simplificaciones que facilitan mucho la realizacin de las
operaciones.
Suma de nmeros binarios
Para aprender a sumar, con cinco o seis aos de edad, tuviste que memorizar
las 100 combinaciones posibles que pueden darse al sumar dos dgitos
decimales. La tabla de sumar, en binario, es mucho ms sencilla que en
decimal. Slo hay que recordar cuatro combinaciones posibles:

Las sumas 0 + 0, 0 + 1 y 1 + 0 son evidentes:


0+0=0
0+1=1
1+0=1
Pero la suma de 1+1, que sabemos que es 2 en el sistema decimal, debe
escribirse en binario con dos cifras (10) y, por tanto 1+1 es 0 y se arrastra una
unidad, que se suma a la posicin siguiente a la izquierda.
Ejemplos:
1) 010 + 101 = 111 210 + 510 = 710

2) 001101 + 100101 = 110010 1310 + 3710 = 5010

3) 1011011 + 1011010 = 10110101 9110 + 9010 = 18110

4) 110111011 + 100111011 = 1011110110 44310 + 31510 = 75810


Sustraccin de nmeros binario
La tcnica de la resta en binario es, nuevamente, igual que la misma operacin
en el sistema decimal. Pero conviene repasar la operacin de restar en decimal
para comprender la operacin binaria, que es ms sencilla. Los trminos que
intervienen en la resta se llaman minuendo, sustraendo y diferencia.

Las restas 0 - 0, 1 - 0 y 1 - 1 son evidentes:


00=0
10=1
11=0
La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una
unidad prestada de la posicin siguiente: 10 - 1, es decir, 210 110 = 1. Esa
unidad prestada debe devolverse, sumndola, a la posicin siguiente.
Ejemplos:
1) 111 101 = 010 710 510 = 210

2) 10001 01010 = 00111 1710 1010 = 710

3) 11011001 10101011 = 00101110 21710 17110 = 4610

4) 111101001 101101101 = 001111100 48910 36510 = 12410


A pesar de lo sencillo que es el procedimiento de restar, es facil confundirse.
Tenemos interiorizado el sistema decimal y hemos aprendido a restar
mecnicamente, sin detenernos a pensar en el significado del arrastre. Para
simplificar las restas y reducir la posibilidad de cometer errores hay varias
soluciones:
Dividir los nmeros largos en grupos. En el siguiente ejemplo, vemos cmo se
divide una resta larga en tres restas cortas:
100110011101 1001 1001 1101
010101110010 0101 0111 0010
010000101011 0100 0010 1011
Calculando el complemento a dos del sustraendo
Complemento a dos
El complemento a dos de un nmero N, compuesto por n bits, se define como:

Tenemos el nmero N = 1011012, que tiene 6 bits, y calculemos su


complemento a dos:

Complemento a uno
El complemento a uno de un nmero N, compuesto por n bits es, por definicin,
una unidad menor que el complemento a dos, es decir:

y, por la misma razn:

Calculemos el complemento a uno del mismo nmero del ejemplo anterior:

Da la sensacin de que calcular el complemento a uno no es ms que una


forma elegante de complicarse la vida, y que no va a ser ms sencillo restar
utilizando el complemento a dos, porque el procedimiento para calcular el
complemento a dos es ms difcil y laborioso que la propia resta. Pero es
mucho ms sencillo de lo que parece.
En realidad, el complemento a uno de un nmero binario es el nmero
resultante de invertir los UNOS y CEROS de dicho nmero.
Obtenemos su complemento a uno invirtiendo ceros y unos, con lo que resulta:

y su complemento a dos es:

Veamos otro ejemplo de clculo de complementos. Sea:

El complemento a uno es:

y el complemento a dos es:

Restar en binario usando el complemento a dos


Y, por fin, vamos a ver cmo facilita la resta el complemento. La resta binaria
de dos nmeros puede obtenerse sumando al minuendo el complemento a dos
del sustraendo. Veamos algunos ejemplos:
Ejemplo:
Hagamos la siguiente resta, 91 46 = 45, en binario:

Tiene alguna dificultad, cuando se acumulan los arrastres a la resta siguiente.


Pero esta misma resta puede hacerse como una suma, utilizando el
complemento a dos del sustraendo:

En el resultado de la suma nos sobra un bit, que se desborda por la izquierda.


Pero, como el nmero resultante no puede ser ms largo que el minuendo, el
bit sobrante se desprecia.
Multiplicacin binaria
La multiplicacin en binario es ms fcil que en cualquier otro sistema de
numeracin. Como los factores de la multiplicacin slo pueden ser CEROS o
UNOS, el producto slo puede ser CERO o UNO. En otras palabras, las tablas
de multiplicar del cero y del uno son muy fciles de aprender:

En un ordenador, sin embargo, la operacin de multiplicar se realiza mediante


sumas repetidas. Eso crea algunos problemas en la programacin porque cada
suma de dos UNOS origina un arrastre, que se resuelven contando el nmero
de UNOS y de arrastres en cada columna. Si el nmero de UNOS es par, la
suma es un CERO y si es impar, un UNO. Luego, para determinar los arrastres
a la posicin superior, se cuentan las parejas de UNOS.
Veamos, por ejemplo, una multiplicacin:

Divisin binaria
Igual que en el producto, la divisin es muy fcil de realizar, porque no son
posibles en el cociente otras cifras que UNOS y CEROS.
Consideremos el siguiente ejemplo, 42 : 6 = 7, en binario:

Divisin binaria
Se intenta dividir el dividendo por el divisor, empezando por tomar en ambos el
mismo nmero de cifras (100 entre 110, en el ejemplo). Si no puede dividirse,
se intenta la divisin tomando un dgito ms (1001 entre 100).
Si la divisin es posible, entonces, el divisor slo podr estar contenido una vez
en el dividendo, es decir, la primera cifra del cociente es un UNO. En ese caso,
el resultado de multiplicar el divisor por 1 es el propio divisor. Restamos las
cifras del dividendo del divisor y bajamos la cifra siguiente.
El procedimiento de divisin contina del mismo modo que en el sistema
decimal
CAMBIO DE BASE "N" A BASE "M"
(Las bases n y m son diferentes de 10)
Convertir un nmero N de base (b) a otra base (c), ambas distintas de 10, se
puede hacer en los dos pasos siguientes:
1. Convertir el nmero Nb de base (b) a base 10.
2. Convertir el nmero N10 de base 10 a base (c).
Para pasar un numeral de base diferente de diez a otra base tambin diferente
de diez, primero hay que convertirlo a base 10 por descomposicin polinmica
o ruffini; luego el resultado lo pasamos a la base que nos piden por divisiones
sucesivas.
EJEMPLO
Usando el mtodo descrito, para convertir el nmero 16,518 a base 2, en primer
lugar lo pasaremos a base 10 con el Teorema Fundamental de la
Numeracin (TFN):

16,518 = 181 + 680 + 58-1 + 18-2 = 8 + 6 + 0,625 + 0,015625 = 14,640625 10

y, a continuacin, cambiaremos el nmero obtenido, 14,64062510, a base 2. Los


clculos de la parte entera son:

y las operaciones de la parte fraccionaria son:


Por tanto

16,518 = 14,64062510 = 1110,1010012

Sin embargo, puesto que las bases de los Sistemas Binario y Octal, (2) y (8),
ambas son potencias de 2, es decir, 2 = 21 y 8 = 23, las conversiones de octal a
binario y viceversa se pueden realizar de forma directa. Para ello, hay que conocer
la correspondencia de dgitos que existe entre ambas bases.

De la tabla se deduce que, por ejemplo, el nmero 68 equivale al 1102, el


nmero 112 equivale al 38 el nmero 548 equivale al 1011002, ya que:

En consecuencia, para convertir el nmero 16,518 a binario, podemos hacer


corresponder cada uno de sus dgitos con sus tres equivalentes en binario, de
forma que:
Los ceros a la izquierda de la parte entera o a la derecha de la parte fraccionaria
se desprecian. As pues, obtenemos el resultado que ya sabamos

16,518 = 1110,1010012

Вам также может понравиться