Está en la página 1de 12

Operaciones con números binarios

Suma de números Binarios

Las posibles combinaciones al sumar dos bits son

 0+0=0
 0+1=1
 1+0=1
 1 + 1 = 10
100110101
+ 11010101
———————————
1000001010

Operamos como en el sistema decimal: comenzamos a sumar desde la derecha,


en nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado
y llevamos 1 (este "1" se llama  arrastre). A continuación se suma el acarreo a la
siguiente columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas la columnas
(exactamente como en decimal).

Resta de números binarios

El algoritmo de la resta en binario es el mismo que en el sistema decimal. Pero


conviene repasar la operación de restar en decimal para comprender la operación
binaria, que es más sencilla. Los términos que intervienen en la resta se llaman
minuendo, sustraendo y diferencia.

Las restas básicas 0-0, 1-0 y 1-1 son evidentes:

 0-0=0
 1-0=1
 1-1=0
 0 - 1 = no cabe o se pide prestado al próximo.

La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad


prestada de la posición siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir
en decimal, 2 - 1 = 1. Esa unidad prestada debe devolverse, sumándola, a la
posición siguiente. Veamos algunos ejemplos:
Restamos 17 - 10 = 7 (2=345) Restamos 217 - 171 = 46 (3=690)
10001 11011001
-01010 -10101011
—————— —————————
01111 00101110
010000101011 0100 0010 1011
Utilizando el complemento a 2. La resta de dos números binarios puede
obtenerse sumando al minuendo el complemento a dos d

A pesar de lo sencillo que es el procedimiento, es fácil confundirse. Tenemos


interiorizado el sistema decimal y hemos aprendido a restar mecánicamente, 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 números largos en grupos. En el siguiente ejemplo, vemos


cómo se divide una resta larga en tres restas cortas:
100110011101 1001 1001 1101
-010101110010 -0101 -0111 -0010
————————————— = ————— ————— —————

 el sustraendo. Veamos algunos ejemplos. Hagamos la siguiente resta, 91 -


46 = 45, en binario:
1011011 1011011
-0101110 C2 de 46 = 1010010 +1010010
———————— ————————
0101101 10101101

En el resultado nos sobra un bit, que se desborda por la izquierda. Pero, como el
número resultante no puede ser más largo que el minuendo, el bit sobrante se
desprecia.

Un último ejemplo: vamos a restar 219 - 23 = 196, directamente y utilizando el


complemento a dos:
11011011 11011011
-00010111 C2 de 23 = 11101001 +11101001
————————— —————————
11000100 111000100

Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado


correcto: 11000100 en binario, 196 en decimal.
 Utilizando el complemento a 1. La resta de dos números binarios puede
obtenerse sumando al minuendo el complemento a uno del sustraendo y a
su vez sumarle el bit de overflow (bit que se desborda).

 Producto de números binarios

El algoritmo del producto en binario es igual que en números decimales; aunque


se lleva cabo con más sencillez, ya que el 0 multiplicado por cualquier número da
0, y el 1 es el elemento neutro del producto.

Por ejemplo, multipliquemos 10110 por 1001:


10110
1001
—————————
10110
00000
00000
10110
—————————
11000110

En sistemas electrónicos, donde se suelen utilizar números mayores, no se utiliza


este método sino otro llamado algoritmo de Booth.

División de números binarios

La división en binario es similar a la decimal, la única diferencia es que a la hora


de hacer las restas, dentro de la división, estas deben ser realizadas en binario.
Por ejemplo, vamos a dividir 100010010 (274) entre 1101 (13):
100010010 |1101
——————
- 0000 010101
———————
10001
- 1101
———————
01000
- 0000
———————
10000
- 1101
———————
00111
- 0000
———————
01110
- 1101
———————
00001

Conversión entre binarios y decimales, binario a octal y


de binario a hexadecimal
Binario a decimal

Para realizar la conversión de binario a decimal, realice lo siguiente:

1. Inicie por el lado derecho del número en binario, cada número


multiplíquelo por 2 y elévelo a la potencia consecutiva (comenzando por
la potencia 0).
2. Después de realizar cada una de las multiplicaciones, sume todas y el
número resultante será el equivalente al sistema decimal.

Ejemplos:

 110101 (binario) = 53 (decimal). Proceso:


1*(2) elevado a (0)=1
0*(2) elevado a (1)=0
1*(2) elevado a (2)=4
0*(2) elevado a (3)=0
1*(2) elevado a (4)=16
1*(2) elevado a (5)=32
La suma es: 53

 10010111 (binario) = 151 (decimal). Proceso:


1*(2) elevado a (0)=1
1*(2) elevado a (1)=2
1*(2) elevado a (2)=4
0*(2) elevado a (3)=0
1*(2) elevado a (4)=16
0*(2) elevado a (5)=0
0*(2) elevado a (6)=0
1*(2) elevado a (7)=128
La suma es: 151

 110111 (binario) = 55 (decimal). Proceso:


1*(2) elevado a (0)=1
1*(2) elevado a (1)=2
1*(2) elevado a (2)=4
0*(2) elevado a (3)=0
1*(2) elevado a (4)=16
1*(2) elevado a (5)=32
La suma es: 55

Decimal a binario

Se divide el número decimal entre 2 cuyo resultado entero se vuelve a dividir


entre 2 y así sucesivamente. Una vez llegados al 1 indivisible se cuentan el
último cociente, es decir el uno final (todo número binario excepto el 0 empieza
por uno), seguido de los residuos de las divisiones subsiguientes. Del más
reciente hasta el primero que resultó. Este número será el binario que buscamos.
A continuación se puede ver un ejemplo con el número decimal 100 pasado a
binario.
100 |_2
0 50 |_2
0 25 |_2 --> 100 1100100
1 12 |_2
0 6 |_2
0 3 |_2
1 1

Otra forma de conversión consiste en un método parecido a la factorización


en números primos. Es relativamente fácil dividir cualquier número entre 2. Este
método consiste también en divisiones sucesivas. Dependiendo de si el número
es par o impar, colocaremos un cero o un uno en la columna de la derecha. Si es
impar, le restaremos uno y seguiremos dividiendo por dos, hasta llegar a 1.
Después sólo nos queda tomar el último resultado de la columna izquierda (que
siempre será 1) y todos los de la columna de la derecha y ordenar los dígitos de
abajo a arriba. Y luego se haría un cuadro con las potencias con el resultado.

Ejemplo:
100|0
50|0
25|1 --> 1, 25-1=24 y seguimos dividiendo por 2
12|0
6|0
3|1
1|1 --> 100 1100100

Y también tenemos otro método el método de distribución en el que distribuimos


el número decimal y podemos tener el resultado en binario, trabaja de la siguiente
manera tenemos el número 151 lo que tenemos que hacer es distribuir este
número buscando el número más próximo; en este caso es 128 así que en la
casilla donde hay capacidad de contener el número que tenemos lo vamos
marcando. y en las casillas que no empleamos las marcaremos con un 0.

Ejemplo:
2^0= 1|1
2^1= 2|1
2^2= 4|1
2^3= 8|0
2^4= 16|1
2^5= 32|0
2^6= 64|0
2^7= 128|1 128+16+4+2+1=151
2^8= 256|0

Y sucesivos.

Binario a octal

Para realizar la conversión de binario a octal, realice lo siguiente:

1) Agrupe la cantidad binaria en grupos de 3 en 3 iniciando por el lado derecho.


Si al terminar de agrupar no completa 3 dígitos, entonces agregue ceros a la
izquierda.

2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:

Número en
000 001 010 011 100 101 110 111
binario

Número en octal 0 1 2 3 4 5 6 7

3) La cantidad correspondiente en octal se agrupa de izquierda a derecha.

Ejemplos:

 110111 (binario) = 67 (octal). Proceso:


111 = 7
110 = 6
Agrupe de izquierda a derecha: 67
 11001111 (binario) = 317 (octal). Proceso:
111 = 7
001 = 1
11 entonces agregue un cero, con lo que se obtiene 011 = 3
Agrupe de izquierda a derecha: 317

 1000011 (binario) = 103 (octal). Proceso:


011 = 3
000 = 0
1 entonces agregue 001 = 1
Agrupe de izquierda a derecha: 103.

Octal a binario

Cada dígito octal se lo convierte en su binario equivalente de 3 bits y se juntan en


el mismo orden. Ejemplo:

 247 (octal) = 010100111 (binario). El 2 en binario es 10, pero en binario


de 3 bits es Oc(2) = B(010); el Oc(4) = B(100) y el Oc(7) = (111), luego el
número en binario será 010100111.

Binario a hexadecimal

Para realizar la conversión de binario a hexadecimal, realice lo siguiente:

1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho.


Si al terminar de agrupar no completa 4 dígitos, entonces agregue ceros a la
izquierda.

2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:

Núme
ro en 00 00 00 00 01 01 01 01 10 10 10 10 11 11 11 11
binari 00 01 10 11 00 01 10 11 00 01 10 11 00 01 10 11
o

Númer 0 1 2 3 4 5 6 7 8 9 A B C D E F
o en
hexad
ecimal

3) La cantidad correspondiente en hexadecimal se agrupa de izquierda a derecha.

Ejemplos:

 110111010 (binario) = 1BA (hexadecimal). Proceso:


1010 = A
1011 = B
1 entonces agregue 0001 = 1
Agrupe de izquierda a derecha: 1BA

 11011110101 (binario) = 6F5 (hexadecimal). Proceso:


0101 = 5
1111 = F
110 entonces agregue 0110 = 6
Agrupe de izquierda a derercha: 6F5

Hexadecimal a binario

Ídem que para pasar de hexadecimal a binario, solo que se remplaza por el
equivalente de 4 bits, como de octal a binario.

Tabla de conversión entre decimal, binario, hexadecimal,


octal, BCD, Exceso 3 y Gray o Reflejado

BC
Decimal Binario Hexadecimal Octal Exceso 3 Gray o Reflejado
D

0 0000 0 0 0000 0011 0000

1 0001 1 1 0001 0100 0001

2 0010 2 2 0010 0101 0011

3 0011 3 3 0011 0110 0010


4 0100 4 4 0100 0111 0110

5 0101 5 5 0101 1000 0111

6 0110 6 6 0110 1001 0101

7 0111 7 7 0111 1010 0100

8 1000 8 10 1000 1011 1100

9 1001 9 11 1001 1100 1101

10 1010 A 12

11 1011 B 13

12 1100 C 14

13 1101 D 15

14 1110 E 16

15 1111 F 17

Decimal Codificado en Binario (BCD)


Puesto que las computadoras construidas usando el sistema binario requieren
de una menor cantidad de circuitos electrónicos y por lo tanto son
más eficientes que las máquinas que operan con otros sistemas numéricos,
el sistema binario es el sistema más natural para una computadora y
el de mayor uso actualmente. Por otro lado, el sistema decimal es el más
natural para nosotros. Todos los cálculos que realizamos usualmente se
realizan en el sistema decimal, pero deben ser convertidos por las computadoras
de decimal a binario antes de realizar cualquier operación. Debido
a esto, muchas de las primeras computadoras usaban un sistema de codificación
decimal a binaria. En tal sistema, se usan grupos de dígitos binarios
para representar cada uno de los 10 símbolos usados en el sistema
decimal. Por ejemplo, uno de los códigos más obvios y naturales es usar
un “código binario de pesos” donde cada posición representa un “peso”
tal y como se muestra en la tabla 3.3

Tabla 3.3 Código binario de pesos.


Código Binario Dígito Decimal
Peso
8 4 21
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9

Nótese que son necesarios 4 dígitos binarios para cada símbolo decimal.
Esto es ineficiente pues las combinaciones de 4 dígitos binarios son 24 = 16 de los que sólo
usamos 10 pero si usamos 3 dígitos 23 = 8 son insuficientes.
Para simplificar la conversión de decimal a binario, es muchas veces práctico codificar un
número decimal dn1 dn2 d1 d0 _ donde d i 0,1, ..., 9 de la siguiente forma: Reemplace
cada dígito decimal con su equivalente de 4 símbolos binarios tal como están definidos en
la tabla 2 anterior. El número resultante es llamado código binario decimal, código 8, 4, 2,
1 o simplemente BCD (Binary-coded decimal), y lo indicaremos con el sufijo BCD. Así,
tenemos que:

10001010101BCD = 45510

Nótese que el número resultanteBCDy el binario son bastante distintos.


Acada uno de los dígitos binarios le llamamos bit (de binary digit). En la
representación BCD, cada segmento de 4 bits representa un sólo dígito
decimal cuyo peso es una potencia de 10. Unicamente 10 de los 16 posibles
patrones de grupos de 4 bits son necesarios para la representación
BCD. Aunque el formatoBCDclaramente simplifica la conversión decimal,
tiene la desventaja de requerir más bits por cada número a
representar. Usando 8 bits, el mayor número representable es
10011001BCD = 9910
mientras que en binario con el mismo número de bits tenemos:
111111112 = 25510

Otras de las desventajas es en las operaciones matemáticas como la resta


que normalmente se realizan usando el complemento del número (ver siguiente
sección). Para resolver estas desventajas se diseñaron otro tipos
de códigos. Uno de los primeros es el llamado de exceso 3 (excess 3) en el
que para formar la equivalencia primero se suma 3 al número decimal.
Por ejemplo para representar al 4, primero sumamos 3, resultando 7 y luego
usamos el BCD “normal”, que es 0111. El 0111 es el código exceso 3
para el 4.
Cambiando cada 0 por 1 y cada 1 por 0 formamos lo que se llama el complemento
del número binario. Este procedimiento es usado para formar el
complemento a 9 de un número decimal. Por ejemplo el complemento de
0100 (1 decimal en código exceso 3) es 1011 u ocho decimal.
El código exceso 3 no es un código de peso (de notación), esto es, cada 1
no representa una potencia de 2 que podamos sumar para formar el número
decimal. Un código de peso en el que el complemento a 9 pueda ser
formado complementando cada bit, es el código 2, 4, 2, 1 representado en
la tabla 4. Este código se usa extensivamente en instrumentos y
calculadoras electrónicas.
Tabla 4. Representaciones Alternas.
Decimal Exceso 3 Complemento Código
a nueve 2, 4, 2, 1
Peso
2421
00 0011 1100 0 0 0 0
01 0100 1011 0 0 0 1
02 0101 1010 0 0 1 0
03 0110 1001 0 0 1 1
04 0111 1000 0 1 0 0
05 1000 0111 1 0 1 1
06 1001 0110 1 1 0 0
07 1010 0101 1 1 0 1
08 1011 0100 1 1 1 0
09 1100 0011 1 1 1 1

CÓDIGO DE EXCESO 3
 
CÓDIGOS BINARIOS SIN PESO

De la misma forma que existen códigos binarios con peso, también existen códigos binarios sin
peso en el cual cada bit no va a poseer un valor o ponderación por posición. Aquí detallaremos dos
códigos binarios sin peso: el de exceso 3 y el código Gray.

CÓDIGO DE EXCESO 3

A pesar de ser un código binario sin peso, el código de exceso 3 guarda una estrecha relación con el
código BCD 8421 por el hecho de que cada grupo de 4 bits solo pueden representar a un único dígito
decimal (del 0 al 9), y deriva su nombre de exceso 3 debido a que cada grupo de 4 bits equivale al número
BCD 8421 más 3.Conversión de decimal a exceso 3.

1. Se separa al número decimal en cada uno de sus dígitos.


2. Sumarle tres (3) a cada dígito decimal.
3. Convertir a BCD el número decimal obtenido.
4. El número obtenido es el equivalente en XS3 del número decimal.
Ejemplo: convertir el número decimal 18 a su equivalente XS3.Solución: primero le sumamos 3 a
cada dígito.
18
+ 3 + 3 -----
-----
4 11
Luego cada resultado se transforma a BCD 4 = 0100 11 = 1001
Nota: En las conversiones de exceso 3 no se tiene en cuenta los códigos inválidos (1010, 1011,
1100, 1101, 1110, 1111) como vimos en el ejemplo anterior el número 11, el cual nos resultó de la suma
de 8+3, se convirtió directamente al BCD1001.

También podría gustarte