Está en la página 1de 9

Capítulo 2 Aritmética Binaria Entera

• Aritmética Binaria Entera


Ö Una de las principales aplicaciones de la electrónica digital es el diseño de dispositivos capaces
de efectuar cálculos aritméticos, ya sea como principal objetivo (calculadoras, computadoras,
máquinas registradoras, etc.) o bien, como una subfunción que les permita realizar su cometido
principal (medidores, controladores, registradores, etc.) Por ello, y dado que los sistemas
digitales sólo pueden manejar información binaria, es necesario entender las operaciones
aritméticas fundamentales en términos del sistema de numeración binario. En este capítulo se
tratan las operaciones fundamentales en el sistema binario solamente para números enteros. Un
tratamiento más general debe contener un tratamiento de números fraccionarios, es decir, la
aritmética de punto fijo y la de punto flotante. La primera de estas dos es una extensión casi
inmediata del la aritmética entera.

@ Notación
En este capítulo cuando no se anote el subíndice de un número que sólo contiene unos y
ceros se sobreentenderá que está en binario.

2.1.- ADICIÓN O SUMA BINARIA

En forma similar a como realizamos las sumas en decimal, para realizarlas en otros sistemas es
necesario aprender de memoria algunas sumas básicas, especialmente las sumas de dígito con dígito;
en decimal éstas son 100 sumas (tablas de sumar), mientras que en binario son sólo 4, puesto que
en binario sólo hay dos dígitos:

O Tabla de sumar:

+ 0 1
0 0 1
1 1 10

F Cuando la tabla anterior se usa en una suma de cantidades de varios bits, se suma columna por
columna de LSB a MSB y si aparece el caso 1+1, se anota el 0 y se acarrea el 1 a la siguiente
columna.

Ejemplos:

1) sumar 101101 + 10101, es decir, 4510 + 2110

Acarreos: 1 1 1 1 Acarreos: 1

101101 2910
+ 10101 + 710
100100 3610

2) sumar 11101 + 111, es decir, 2910 + 710

10
Capítulo 2 Aritmética Binaria Entera
Acarreos: 1 1 1 1 Acarreos: 1

11101 2910
+ 00111 + 710
100100 3610 q

2.2.- SUSTRACCIÓN O RESTA BINARIA

En forma similar a la suma, es conveniente memorizar la siguiente

O Tabla de restar:

- 0 1
0 0 -1
1 1 0

F Cuando la tabla anterior se usa en la resta de cantidades de varios bits, se resta columna por
columna de LSB a MSB y si aparece el caso de restar 0 - 1 se interpreta como si fuera 10 - 1,
resultando un 1 y un acarreo negativo, o préstamo de 1 tomado de la siguiente columna.

Ejemplos:

1) restar 101101 - 10101, es decir, 4510 - 2110

Préstamos: -1

101101 4510
+ 10101 2110
-
011000 2410

2) restar 11101 - 111, es decir, 2910 - 710

Préstamos: -1 -1

11101 2910
+ 00111 + 710
10110 2210 q

2.3.- REPRESENTACIÓN DE NÚMEROS NEGATIVOS.

En la construcción de dispositivos digitales que realicen operaciones de resta se puede obtener un


considerable ahorro si esta operación es realizada mediante los mismos dispositivos que realizan la
suma, de esta manera no es necesario construir dos tipos de dispositivos, y el problema se convierte
más bien en cómo manejar adecuadamente los números negativos para realizar restas usando sumas.

2.3.1.- MAGNITUD SIGNADA

O El método de representación de números negativos que consiste en anteponer un signo “-” al valor
absoluto de la cantidad se le llama magnitud signada y es el método tradicionalmente usado en
decimal, ya que está pensado en su manipulación por humanos.

Ejemplos: -510, -10112, .5EH, ... etc.

11
Capítulo 2 Aritmética Binaria Entera
F La principal desventaja del método de magnitud signada es que requiere de dos métodos
diferentes, uno para la suma y otro para la resta.

2.3.2.- SISTEMA DE NUMERACIÓN DE COMPLEMENTO A LA BASE (COMPLEMENTO A DOS)

Un método de representación de cantidades negativas que permite realizar restas mediante sumas
consiste en representar los números negativos por su complemento, es decir, por lo que les falta
para cierta cantidad tomada como base.

O En el sistema de numeración de complemento a la base r, los números negativos de n dígitos se


representan por la cantidad que les falta para completar rn. Es decir, en este sistema, la cantidad -Nr
se representa por su complemento, es decir, como rn-N y en ocasiones se denota [N]r.

Ejemplos:

1) Caso decimal (complemento a 10) para 2 dígitos (r=10, n=2)


-1510 = 102 - 15 = [85]10

De esta manera, una resta como 45 - 15, se puede realizar mediante la suma 45 + 85 =(1)30,
despreciando el acarreo indicado entre paréntesis, ya que sólo se están usando 2 dígitos.

2) Caso binario (complemento a 2) para 4 dígitos (r=2, n=4)


-01012 = (10000 - 0101)2 = [1011]2

De esta manera, una resta como 1010, se puede realizar mediante la suma 1010
- 0101 + 1011
0101 (1)0101
despreciando el acarreo indicado entre paréntesis, ya que sólo se están usando 4 dígitos. q

Observación: En el sistema de complemento a dos los número positivos se escriben sin ningún
cambio.

O Bit de signo (S)

En el sistema de numeración de complemento a dos el MSB se denomina bit de signo y se usa para
indicar el signo del número representado, de acuerdo a la siguiente convención:

S = 0 El número es positivo y el resto de los bits indica su magnitud directamente.


S = 1 El número es negativo y está en la forma complementada

Ejemplo: Expresar +5 y -5 en una palabra de 8 bits en el sistema de complemento a 2.

+ 5 es positivo y se expresará directamente pro su magnitud en binario como 0000101


- 5 es negativo y estará expresado en la forma de complemento a 2 como:
+5=00000101
Complemento a 2: 1 1 1 1 1 0 1 1 = - 510

Obsérvese que de acuerdo a esta convención del sistema de complemento a dos, al aplicar el
complemento a 2 a un número binario, equivale a cambiarle el signo (multiplicar por -1) q

Ejemplo: 11010112 es un número de 7 bits, incluyendo el bit signo. ¿Cuál es su equivalente decimal
?

12
Capítulo 2 Aritmética Binaria Entera
Como el bit signo es = 1, el número es negativo y se encuentra en su forma complementada.

1 1 0 1 0 1 1 : número negativo
0 0 1 0 1 0 1 : valor absoluto (complemento a dos del número)
21 : equivalente decimal del complemento
entonces: [1101011]2 = -2110 q

Ejemplo: Si (01101011)2 es un número de 8 bits, incluyendo el bit signo. Cuál es su equivalente


decimal?.

Como el bit signo es = 0, el número es positivo y el resto de los bits indican su magnitud.

número positivo: 0 1 1 0 1 0 1 1 = 10710


valor absoluto : 01101011

entonces (01101011)2 =+10710 q

Ejemplo: Cuál es el equivalente en binario de complemento a dos de (-535)10 ?

Usaremos hexadecimal como paso intermedio a binario. Convirtiendo +535 a Hexadecimal:

16 535

33 --> 7

2 --> 1

0 --> 2

Por tanto (+535)10 = (010 0001 0111)2


(+535)10 = 010 0001 0111
101 1110 1001: complemento a dos
por lo tanto (-535)10 = [101 1110 1001]2

Obsérvese que para indicar este resultado se requieren por lo menos 11 bits q

2.3.3.- COMPLEMENTO A LA BASE DISMINUIDA

Una alternativa al sistema de complemento a la base es el complemento a la base menos 1. en este


sistema un número negativo -N de n dígitos en base r se representa por lo que le falta para llegar a
rn-1 y se suele denotar por [N]r-1, es decir, [N]r-1 = rn - 1 - N. en otra palabras, [N]r-1 = [N]r -1.

Ejemplos:

1) Caso decimal (complemento a 9) para 2 dígitos (r=10, n=2)


-1510 = 102 - 1 - 15 = 99 - 15 = [84]9

De esta manera, una resta como 45 - 15, se puede realizar mediante la suma 45 + 84 =(1)+29,
(sumando el acarreo indicado entre paréntesis como una corrección del resultado).

2) Caso binario (complemento a 2) para 4 dígitos (r=2, n=4)


-01012 = (10000 - 1 - 0101)2 = (1111 - 0101)2 = [1010]1
13
Capítulo 2 Aritmética Binaria Entera

De esta manera, una resta como 1010, se puede realizar mediante la suma 1010
- 0101 + 1010
0101 (1)0100
+ 1
0101
(sumando el acarreo indicado entre paréntesis). q

2.3.4.- OBTENCIÓN DE COMPLEMENTOS BINARIOS SIN USAR RESTAS.

La ventaja que provee el sistema de complementos al convertir una resta en una suma no sería tal si
para obtener el complemento usamos la definición, ya que esta requiere una resta. A continuación se
describen dos algoritmos que permiten obtener el complemento a 2 sin usar restas:

Algoritmo 1
@ 1) Se copian los bits del número de LSB a MSB hasta encontrar el primer bit 1.
2) Se prosigue invirtiendo los bits restantes (es decir, cambiando 1’s por 0’s y 0’s por 1’s)
hasta llegar al MSB.

Ejemplo. Para obtener el complemento a 2 de N=10110100


ò
se copian los primeros bits hasta el primer 1: 100
ò
se invierten los bits restantes: 01001
resultando finalmente: 01001100 q

Algoritmo 2
@ 1) Se obtiene el complemento a 1 del número invirtiendo todos sus bits.
2) Se suma 1 al resultado anterior.

Ejemplo. para obtener el complemento a 2 de N= 010110


se invierten todos los bits (complemento a 1): 101001
se suma 1 al resultado: +1
resultando finalmente: 101011 q

2.3.5.- SUMAS Y RESTAS USANDO COMPLEMENTO A DOS.

A continuación se dan algunos ejemplos de restas usando complemento a dos, se introduce el


concepto de sobreflujo y el de bit de signo.

O Sobreflujo. Se dice que una operación (en el sistema de complemento a dos) produce un sobreflujo,
cuando el resultado requiere más bits que los que se están usando en la operación.

Para visualizar el concepto de sobreflujo, es conveniente tener en mente el rango representable en


complemento a dos con n bits.

Ejemplo: ¿Cuál es el rango de números representables en complemento a dos con 3 bits?


En este caso es simple representar todos los números e interpretarlos en decimal:

14
Capítulo 2 Aritmética Binaria Entera
Complemento a 2 Decimal
000 0
001 1
010 2
011 3
100 -4
101 -3
110 -2
111 -1

entonces el rango es de -4 a +3. No es difícil concluir que en general el rango representable con n
bits será de -2n-1 a +2n-1-1. q

F De acuerdo al ejemplo anterior, si intentamos sumar (por ejemplo) 3+2 usando tres bits, el
resultado (5) no podrá ser expresado con tres bits, ya que se sale del rango y se tendrá un
sobreflujo.

Ejemplo: Realizar las siguientes sumas en binario de complemento a dos, usando 4 bits. Indicar el
signo del resultado y en donde se produce sobreflujo:

a) 4+3 0100
+0011
0111 El resultado es positivo y no hay sobreflujo

b) -4 + 5 1100
+0101
10001 El resultado es positivo y no hay sobreflujo

c) -4 - 5 1100
+1011
10111 El resultado es positivo, lo cual no puede ser pues se están
sumando dos datos negativos e hay sobreflujo.

d) 6 + 5 0110
+0101
1011 El resultado es negativo, lo cual no puede ser pues se están
sumando dos datos positivos e hay sobreflujo.

e) 9 + 2 Esta operación NO se puede realizar con 4 bits, ya que el 9 requiere al menos


5 bits para ser expresado en el sistema de complemento a 2 . q

Interpretación del acarreo en el resultado de sumas en complemento a 2

"Si los signos de los números que se suman son diferentes, cualquier acarreo obtenido es falso y
deberá de ser ignorado".

Ejemplo: Ver inciso (b) del ejemplo anterior.

"Si los signos de los números que se suman son iguales, el acarreo es verdadero y actúa como el bit
signo. En ausencia de acarreo se considera que este es 0, así la respuesta es positiva".

Ejemplos ver incisos (a), (c) y (d) del ejemplo anterior.

15
Capítulo 2 Aritmética Binaria Entera

Ejemplo: Efectúe las siguientes operaciones y exprese el resultado en decimal con su signo (MSB =
bit signo)

a).- 01111011
+ 1 0 1 1 0 0 1 0 como los signos de los números son
1 0 0 1 0 1 1 0 1 diferentes, el acarreo se ignora

bit signo = 0 = +
resultado = + 00101101 = +4510

b).- 10010111
+ 1 0 1 0 0 1 1 0 como los signos son iguales, el acarreo es el bit de signo del resultado
100111101

acarreo = bit signo = 1 = -


resultado =- complemento a 2 de 00111101 = -11000011 = - 19510 q

2.4.- MULTIPLICACIÓN BINARIA

El conjunto básico de multiplicaciones de un sólo bit que hay que memorizar se resume en la
siguiente

O Tabla de multiplicar:

* 0 1
0 0 0
1 1 0

Sin embargo, al realizar multiplicaciones de números de varios bits, usamos las mismas reglas de la
multiplicación decimal. de manera que una multiplicación de este tipo se convierte al final en varias
sumas.

Ejemplo:

1011 1110
*101 *510
1011 5510
0000
+1011
110111

2.4.1.- MULTIPLICACIÓN POR SUMAS Y CORRIMIENTOS

Como se puede observar en el ejemplo, la multiplicación puede realizarse en una forma más
sistematizada como se indica enseguida, de acuerdo a los bits del multiplicador, comenzando por el
LSB hacia el MSB. El algoritmo descrito a continuación es especialmente útil si la multiplicación va a
ser realizada por una máquina digital (circuitos o computadora digital).

16
Capítulo 2 Aritmética Binaria Entera
: Algoritmo

1) Si el primer bit en el multiplicador es 1, anote el multiplicando como resultado parcial.

2) Si el primer bit del multiplicador es 0; anote ceros como resultado parcial.

3) Se recorre el multiplicando un lugar a la izquierda.

4) Por cada 1 en el multiplicador después del primer bit sume el multiplicando al resultado
parcial. Enseguida recorra el multiplicando un lugar a la izquierda.

5) Por cada cero en el multiplicador después del primer bit, no sume, únicamente recorra el
multiplicando un lugar a la izquierda.

6) Repita el procedimiento hasta incluir todos los bits del multiplicador.

Ejemplo: 0 0 1 0 0 0 1 multiplicando
*
0 0 1 1 0 0 1 multiplicador
0010001
+0010001- - -
0010011001
+ 0010001 -
00110101001
- -
00110101001 producto

Comprobando en decimal: (17)10 * (25)10 = (425)10 q

2.5.- DIVISIÓN BINARIA

En la división de números binarios se puede aplicar el mismo procedimiento de prueba y error que se
usa en la división decimal.

Ejemplo:

0001010 Cociente 10

1001 1011101 9 93
-1 0 0 1 3
001010
-1001
00011 Residuo

2.5.1 DIVISIÓN POR RESTAS Y CORRIMIENTOS

En forma similar a la multiplicación, la división se puede sistematizar para realizarla por restas y
corrimientos.

En este algoritmo el cociente es obtenido bit por bit, así, cada siguiente sólo puede ser 0 ó 1. Así
comenzando de izquierda a derecha, si se puede substraer el divisor del dividendo, se anotará un 1
17
Capítulo 2 Aritmética Binaria Entera
en el cociente, en caso contrario el dígito será 0. Después de cada paso se hace un corrimiento del
divisor hacia la derecha.

Ejemplo: La división 5710 /310:

0 1 0 0 1 1 Cociente

divisor 1 1 1 1 1 0 0 1 dividendo
1 Corrimiento 1 1 0 0 0 0 0
er
no se efectúa resta
111001
2do Corrimiento -1 1 0 0 0 0 se efectúa resta
001001
3er Corrimiento 011000 no se efectúa resta
001001
4to Corrimiento 001100 no se efectúa resta
001001
5to Corrimiento -0 0 0 1 1 0 se efectúa resta
000011
6to Corrimiento -0 0 0 0 1 1 se efectúa resta
000000 residuo

18

También podría gustarte