Está en la página 1de 6

SUMADOR RESTADOR DE 3 BITS EN BINARIO NATURAL.

Sabemos que a un sumador de n bits, hacindole un pequeo cambio, lo podemos convertir en sumador y restador. Simplemente se complementan a 1 los bits del sustraendo y adems se aade un 1 por la entrada de acarreo. La suma de dos nmeros de n bits necesitan n +1 bits para poder expresarse sin overflow.

A2 A1 A0

B2

B1

B0 S/R S/R = 0 suma S/R = 1 resta

sumador

S3

S2 S1 S0

Una seal de control S/R decide si se hace o no ese cambio, y, por tanto, si se resta o suma, respectivamente. Veamos algunos ejemplos de sumas: (2 + 5 = 7)

1 0

1
0

sumador

Resultado

(6 + 7 = 13)

1 0

1
0

sumador

Resultado

Veamos algunos ejemplos de restas: (6 3 = 3)

1 1

0
1

sumador

Resultado

El resultado es +3, pero despreciando el bit de acarreo de salida.

Qu ocurre si el minuendo es menor que el sustraendo?

Vemoslo con un ejemplo:

(4 - 6 = -2)

0 1

1
1

sumador

Si mirsemos los 4 bits, el resultado sera +6, lo cual es falso, pero si miramos slo los tres ltimos bits, el resultado sera tambin +6. En resumidas cuentas, el sumador restador para binario natural slo sirve para sumar, sin problemas, y para restar, cuando el resultado de la resta es positivo. Veamos qu ocurrira si quisiramos hacer esta operacin con nmeros con signo.

SUMADOR RESTADOR DE 3 BITS EN COMPLEMENTO A 2.


Sea A un nmero de 3 bits en complemento a 2 (A2, A1, A0), donde A2 es el bit de signo. Sea B un nmero de 3 bits en complemento a 2 (B2, B1, B0), donde B2 es el bit de signo. Vamos a realizar un sumador restador para A y B, basndonos en la idea del sumador restador binario. El rango de nmeros representados es [-4, +3], si bien el rango de posibles resultados es [-8,+6], que necesita 4 bits en complemento a 2. Vamos a considerar todos los casos posibles, teniendo en cuenta que A puede ser positivo o negativo, que B puede ser positivo o negativo y que podemos sumar o restar, resultan 8 casos Caso 1. Sumar un nmero positivo con otro positivo. Caso 2. Sumar un nmero positivo con otro negativo. Caso 3. Sumar un nmero negativo con otro positivo. Caso 4. Sumar un nmero negativo con otro negativo. Caso 5. Restar un nmero positivo de otro positivo. Caso 6. Restar un nmero negativo de otro positivo. Caso 7. Restar un nmero positivo de otro negativo. Caso 8. Restar un nmero negativo de otro negativo. Ej: +3 +2 = +5 Ej: +3 + (-2) = +1 Ej -2 + (+3) = +1 Ej: -2 + (-3) = -5 Ej: +2- (+3) = -1 Ej: +3 - (-2) = +5 Ej: -2 (+3) = -5 Ej: -2 (-3) = +1

En los casos 1, 4, 6 y 7 necesitan los 4 bits, ya qye en resultado excede el margen de representacin con 3 bits [-4,+3], mientras que en los restantes casos (2, 3, 5 y 8) slo se necesitan 3 bits, ya que el resultado est dentro del citado margen de representacin. Vemoslo en binario en cada caso.

SUMA
CASO 1 011 (+3) 010 (+2) 0 + ------- 0101 (+5) necesita 4 bits CASO 2 011 (+3) 110 (-2) 0 + ------ 1001 (+1) necesita 3 bits CASO 3 110 (-2) 011 (+3) 0 + ------ 1001 (+1) necesita 3 bits CASO 4 110 (-2) 101 (-3) 0 + -----1011 (-5) necesita 4 bits

RESTA
CASO 5 010(+2) 100[ca1(3)] 1 + ------- 111 (-1) necesita 3 bits CASO 6 011(+3) 001[ca1(-2)] 1 + ------ 0101 (+5) necesita 4 bits CASO 7 110(-2) 100[ca1(3)] 1 + ------ 1011 (-5) necesita 4 bits CASO 8 110(-2) 010[ca1(-3)] 1 + -----1001 (+1) necesita 3 bits

En el caso en que slo se necesitan 3 bits, para expresar el resultado con 4 bits, hay que hacer una EXTENSIN DE SIGNO, es decir, forzar a que el cuarto bit sea igual que el tercero. Signo A Positivo Positivo Negativo Negativo Positivo Positivo Negativo Negativo Signo B Positivo Negativo Positivo Negativo Positivo Negativo Positivo Negativo Operacin Suma Suma Suma Suma Resta Resta Resta Resta Necesita 4 bits? S No No S No S S No Caso 1 2 3 4 5 6 7 8

Como se puede ver, cuando se suman dos nmeros de distintos signo o cuando se restan dos nmeros del mismo signo, se necesitan 3 bits y en el caso contrario se necesitan 4 bits. La tabla anterior tambin se puede poner de la siguiente forma: S/R 0 0 0 0 1 1 1 1 A2 0 0 1 1 0 0 1 1 B2 0 1 0 1 0 1 0 1 F 1 0 0 1 0 1 1 0 Caso 1 2 3 4 5 6 7 8

donde S/R=0 significa suma y S/R=1 significa resta. F=0 significa que hay que hacer extensin de signo (necesita 3 bits), mientras que F=1 significa que la salida de acarreo es el 4 bits (necesita 4 bits). Finalmente, la funcin F decidir cul de las dos posibles opciones se saque como 4 bits. F se puede implementar de forma sencilla con puertas y puede ser la lnea de seleccin de un MUX 2x1 para elegir entre el bit de salida de acarreo o entre la tercera lnea del sumador restador.