Sei sulla pagina 1di 9

Captulo 2

Aritmtica Binaria Entera

Aritmtica Binaria Entera


Una de las principales aplicaciones de la electrnica digital es el diseo de dispositivos capaces
de efectuar clculos aritmticos, ya sea como principal objetivo (calculadoras, computadoras, mquinas registradoras, etc.) o bien, como una subfuncin que les permita realizar su cometido principal (medidores, controladores, registradores, etc.) Por ello, y dado que los sistemas digitales slo pueden manejar informacin binaria, es necesario entender las operaciones aritmticas fundamentales en trminos del sistema de numeracin binario. En este captulo se tratan las operaciones fundamentales en el sistema binario solamente para nmeros enteros. Un tratamiento ms general debe contener un tratamiento de nmeros fraccionarios, es decir, la aritmtica de punto fijo y la de punto flotante. La primera de estas dos es una extensin casi inmediata del la aritmtica entera.

@ Notacin

En este captulo cuando no se anote el subndice de un nmero que slo contiene unos y ceros se sobreentender que est en binario.

2.1.- ADICIN 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 bsicas, especialmente las sumas de dgito con dgito; en decimal stas son 100 sumas (tablas de sumar), mientras que en binario son slo 4, puesto que en binario slo hay dos dgitos:

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 10101 100100

2910 710 3610

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

10

Captulo 2
Acarreos: 1 1 1 1 Acarreos: 1

Aritmtica Binaria Entera


11101 + 00111 100100 + 2910 710 3610

2.2.- SUSTRACCIN 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 prstamo de 1 tomado de la siguiente columna.

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


Prstamos: -1

101101 10101 011000

4510 2110 2410

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


Prstamos: -1 -1

11101 + 00111 10110

2910 710 2210

2.3.- REPRESENTACIN DE NMEROS NEGATIVOS. En la construccin de dispositivos digitales que realicen operaciones de resta se puede obtener un considerable ahorro si esta operacin 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 ms bien en cmo manejar adecuadamente los nmeros negativos para realizar restas usando sumas. 2.3.1.- MAGNITUD SIGNADA

O El mtodo de representacin de nmeros negativos que consiste en anteponer un signo - al valor


absoluto de la cantidad se le llama magnitud signada y es el mtodo tradicionalmente usado en decimal, ya que est pensado en su manipulacin por humanos. Ejemplos: -510, -10112, .5EH, ... etc.

11

Captulo 2 Aritmtica Binaria Entera F La principal desventaja del mtodo de magnitud signada es que requiere de dos mtodos
diferentes, uno para la suma y otro para la resta.

2.3.2.- SISTEMA DE NUMERACIN DE COMPLEMENTO A LA BASE (COMPLEMENTO A DOS) Un mtodo de representacin de cantidades negativas que permite realizar restas mediante sumas consiste en representar los nmeros negativos por su complemento, es decir, por lo que les falta para cierta cantidad tomada como base.

O En el sistema de numeracin de complemento a la base r, los nmeros negativos de n dgitos 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 dgitos (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 parntesis, ya que slo se estn usando 2 dgitos. 2) Caso binario (complemento a 2) para 4 dgitos (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 parntesis, ya que slo se estn usando 4 dgitos.

Observacin: En el sistema de complemento a dos los nmero positivos se escriben sin ningn cambio.

O Bit de signo (S)


En el sistema de numeracin de complemento a dos el MSB se denomina bit de signo y se usa para indicar el signo del nmero representado, de acuerdo a la siguiente convencin: S = 0 El nmero es positivo y el resto de los bits indica su magnitud directamente. S = 1 El nmero 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 Obsrvese que de acuerdo a esta convencin del sistema de complemento a dos, al aplicar el complemento a 2 a un nmero binario, equivale a cambiarle el signo (multiplicar por -1) q Ejemplo: 11010112 es un nmero de 7 bits, incluyendo el bit signo. Cul es su equivalente decimal ?

12

Captulo 2

Aritmtica Binaria Entera

Como el bit signo es = 1, el nmero es negativo y se encuentra en su forma complementada. 1 1 0 1 0 1 1 : nmero negativo 0 0 1 0 1 0 1 : valor absoluto (complemento a dos del nmero) 21 : equivalente decimal del complemento entonces: [1101011]2 = -2110

Ejemplo: Si (01101011)2 es un nmero de 8 bits, incluyendo el bit signo. Cul es su equivalente decimal?. Como el bit signo es = 0, el nmero es positivo y el resto de los bits indican su magnitud. nmero positivo: valor absoluto : 0 1 1 0 1 0 1 1 = 10710 01101011 q

entonces (01101011)2 =+10710 Ejemplo: Cul 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 2 0 --> 7 --> 1 --> 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 Obsrvese que para indicar este resultado se requieren por lo menos 11 bits 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 nmero negativo -N de n dgitos 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 dgitos (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 parntesis como una correccin del resultado). 2) Caso binario (complemento a 2) para 4 dgitos (r=2, n=4) -01012 = (10000 - 1 - 0101)2 = (1111 - 0101)2 = [1010]1 q

13

Captulo 2

Aritmtica 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 parntesis). 2.3.4.- OBTENCIN DE COMPLEMENTOS BINARIOS SIN USAR RESTAS.

La ventaja que provee el sistema de complementos al convertir una resta en una suma no sera tal si para obtener el complemento usamos la definicin, ya que esta requiere una resta. A continuacin se describen dos algoritmos que permiten obtener el complemento a 2 sin usar restas: Algoritmo 1 @ 1) Se copian los bits del nmero de LSB a MSB hasta encontrar el primer bit 1. 2) Se prosigue invirtiendo los bits restantes (es decir, cambiando 1s por 0s y 0s por 1s) hasta llegar al MSB. Ejemplo. Para obtener el complemento a 2 de N=10110100 se copian los primeros bits hasta el primer 1: se invierten los bits restantes: resultando finalmente: 100

01001 01001100

Algoritmo 2 @ 1) Se obtiene el complemento a 1 del nmero 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

2.3.5.- SUMAS Y RESTAS USANDO COMPLEMENTO A DOS. A continuacin 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 operacin (en el sistema de complemento a dos) produce un sobreflujo,
cuando el resultado requiere ms bits que los que se estn usando en la operacin. Para visualizar el concepto de sobreflujo, es conveniente tener en mente el rango representable en complemento a dos con n bits. Ejemplo: Cul es el rango de nmeros representables en complemento a dos con 3 bits? En este caso es simple representar todos los nmeros e interpretarlos en decimal:

14

Captulo 2
Complemento a 2 000 001 010 011 100 101 110 111 Decimal 0 1 2 3 -4 -3 -2 -1

Aritmtica Binaria Entera

entonces el rango es de -4 a +3. No es difcil 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 1100 +0101 10001

El resultado es positivo y no hay sobreflujo

b) -4 + 5

El resultado es positivo y no hay sobreflujo

1100 +1011 10111 El resultado es positivo, lo cual no puede ser pues se estn sumando dos datos negativos e hay sobreflujo. d) 6 + 5 0110 +0101 1011 El resultado es negativo, lo cual no puede ser pues se estn sumando dos datos positivos e hay sobreflujo.

c) -4 - 5

e) 9 + 2 Esta operacin 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 Interpretacin del acarreo en el resultado de sumas en complemento a 2 "Si los signos de los nmeros 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 nmeros que se suman son iguales, el acarreo es verdadero y acta 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

Captulo 2

Aritmtica Binaria Entera

Ejemplo: Efecte 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 nmeros 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 q

acarreo = bit signo = 1 = resultado =- complemento a 2 de 00111101 = -11000011 = - 19510 2.4.- MULTIPLICACIN BINARIA

El conjunto bsico de multiplicaciones de un slo bit que hay que memorizar se resume en la siguiente

O Tabla de multiplicar: * 0 1 0 0 1 1 0 0

Sin embargo, al realizar multiplicaciones de nmeros de varios bits, usamos las mismas reglas de la multiplicacin decimal. de manera que una multiplicacin de este tipo se convierte al final en varias sumas. Ejemplo: 1011 *101 1011 0000 +1011 110111 1110 *510 5510

2.4.1.- MULTIPLICACIN POR SUMAS Y CORRIMIENTOS Como se puede observar en el ejemplo, la multiplicacin puede realizarse en una forma ms sistematizada como se indica enseguida, de acuerdo a los bits del multiplicador, comenzando por el LSB hacia el MSB. El algoritmo descrito a continuacin es especialmente til si la multiplicacin va a ser realizada por una mquina digital (circuitos o computadora digital).

16

Captulo 2 : Algoritmo

Aritmtica Binaria Entera

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 despus 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 despus 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 * q

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

2.5.- DIVISIN BINARIA En la divisin de nmeros binarios se puede aplicar el mismo procedimiento de prueba y error que se usa en la divisin decimal. Ejemplo: 0001010 1001 1011101 -1 0 0 1 001010 -1001 00011 Cociente 9 10 93 3

Residuo

2.5.1 DIVISIN POR RESTAS Y CORRIMIENTOS En forma similar a la multiplicacin, la divisin se puede sistematizar para realizarla por restas y corrimientos. En este algoritmo el cociente es obtenido bit por bit, as, cada siguiente slo puede ser 0 1. As comenzando de izquierda a derecha, si se puede substraer el divisor del dividendo, se anotar un 1

17

Captulo 2

Aritmtica Binaria Entera

en el cociente, en caso contrario el dgito ser 0. Despus de cada paso se hace un corrimiento del divisor hacia la derecha. Ejemplo: La divisin 5710 /310: 0 1 0 0 1 1 Cociente divisor 1 1
er

1 1 1 0 0 1 dividendo no se efecta resta se efecta resta no se efecta resta no se efecta resta se efecta resta se efecta resta residuo

1 Corrimiento 1 1 0 0 0 0 0 111001 2do Corrimiento -1 1 0 0 0 0 001001 3er Corrimiento 011000 001001 4to Corrimiento 001100 001001 5to Corrimiento -0 0 0 1 1 0 000011 6to Corrimiento -0 0 0 0 1 1 000000

18

Potrebbero piacerti anche