Está en la página 1de 41

Electrnica Bsica

Aritmtica Binaria
Electrnica Digital

Jos Ramn Sendra Sendra


Dpto. de Ingeniera Electrnica y Automtica
ULPGC

ARITMTICA BINARIA
Operaciones en el sistema Binario Natural
Suma Binaria
Resta Binaria
Unidad Aritmtica Lgica (ALU)
Operaciones en BCD Natural
Suma en BCD
Resta en BCD

ARITMTICA BINARIA
Operaciones en el sistema Binario Natural
Suma Binaria
Sumador sin acarreo o Half Adder (HA)
Sumador con acarreo o Full Adder (FA)
Sumador paralelo con acarreo serie
Sumador paralelo con acarreo paralelo
Sumador serie

Resta Binaria
Representacin de los nmeros negativos
Operaciones en Complemento a 1
Operaciones en Complemento a 2
Desbordamientos (Overflow)
Circuito complementador 74487
Comparadores binarios en magnitud

Unidad Aritmtica Lgica (ALU)

SUMA BINARIA
Sumador sin acarreo o Half Adder
Ai Bi Suma Ac.
0 0
0
0
0 1
1
0
1 0
1
0
1 1
0
1

Ai
0
Bi
0 0
1

Ai
0
Bi
0
0

1
1
0

Suma = Ai Bi + Ai Bi

1
0
1

Ac. = Ai Bi

= Ai + Bi

Ai

Suma

Bi

A
B

Acarreo

S
HA
Co

SUMA BINARIA
Sumador con acarreo o Full Adder
A
0
0
0
0
1
1
1
1

B Ci
0 0
0 1
1 0
1 1
0 0
0 1
1 0
1 1

S
0
1
1
0
1
0
0
1

Co
0
0
0
1
0
1
1
1

AB
Ci 00 01 11 10
S

AB
Ci 00 01 11 10
Co

S = Ci xor A xor B
Co = B Ci + A Ci + A B = CiA + CiB + A B

SUMA BINARIA
Sumador con acarreo o Full Adder
Implantacin estndar: 6 puertas

A
B
S
Ci

A
B

A
Ci
B
Ci
A
B

Ci
CO

S
FA
Co

SUMA BINARIA
Sumador con acarreo o Full Adder
Implantacin alternativa: 5 puertas

S
HA

Co

A+B
AB

S
HA

Co

A + B + Ci

Ci (A + B)

Ci
+
A B + Ci (A + B) = A B + B Ci+ A Ci

Co

SUMA BINARIA
Sumador paralelo con acarreo serie

A2 B2

A1 B1

A0 B0

Cout
S2

C2

S1

C1

S0

Cin

SUMA BINARIA
Sumador paralelo con acarreo paralelo (es ms rpido)
Necesitamos predecir
el acarreo para cada
trmino de la suma

A2 B2
Cout

A1 B1

S2

A0 B0

S1

S0

Cin

SUMA BINARIA
Sumador paralelo con acarreo paralelo
Se trata de predecir el acarreo para cada trmino de la suma
C0 = Cin
C1 = A0 B0 + C0 (A0+B0) = G0 + C0 P0
C2 = A1 B1 + C1 (A1+B1) = G1 + [G0 + C0 P0] P1 = G1 + G0 P1 + C0 P0 P1
C3 = ... = G2 + G1 P2 + G0 P1 P2 + C0 P0 P1 P2
Las variables son las entradas al sumador y el acarreo de la primera
etapa

SUMA BINARIA
Sumador paralelo con acarreo paralelo
A2 B2

G2

G2

G1 P2

G0P1 P2

P2

C0P0 P1P2

A0 B0

A1 B1

G1

G0

P1

G1

G0 P1

A2 B2

El circuito es ms
complejo pero es
ms rpido

P0

C0 P0 P1

G0 C0 P0

A1 B1

A0 B0

Cout
+

S2

S1

S0

C0=Cin

SUMA BINARIA
Sumador serie

A
+

B
Ci

S
Co

CLK
Clula de memoria

SUMA BINARIA
Sumadores comerciales

7480 sumador completo de 1 bit


7482 sumador completo de 2 bit
7483 sumador completo de 4 bit
74182 generador de acarreo previo

RESTA BINARIA

En principio se pueden disear circuitos restadores de la misma forma a


como lo hicimos con los sumadores
Sin embargo lo que se suele hacer es usar los mismos circuitos
sumadores para hacer las restas
Para ello tenemos que ver primero como se representan los nmeros
binarios negativos

RESTA BINARIA
Representacin de nmeros negativos
Representacin de nmeros positivos es similar en la mayora de los sistemas
Mayores diferencias surgen en la representacin de los valores negativos
Dos esquemas fundamentales:
Complemento a uno
Complemento a dos
Especificaciones iniciales:
Trabajaremos con palabras de cuatro bits
Podemos representar 16 valores distintos
Aproximadamente la mitad sern positivos y la mitad negativos

RESTA BINARIA
Complemento a uno
DEF: Si N es un nmero positivo, N es su negativo de tal forma que:
n
Ca1 (N) = N = (2 - 1) - N
Ej: Ca1 (7)
2

= 10000
= - 00001
1111

= - 0111
1000 = -7

TRUCO: Cambiamos cada bit por su complementario


Ej: Ca1 (7)

0111 -> 1000

RESTA BINARIA
Complemento a uno
-0
-1
-2

1111
1110

+0
0000
0001

1101

+1

0010

+2

-3

1100

0011

+3

0 100 = + 4

-4

1011

0100

+4

1 011 = - 4

-5

1010

0101

1001

-6

0110
1000

-7

0111

+5

+6

+7

Hay dos representaciones del cero (malo)

RESTA BINARIA
Complemento a dos
DEF: Si N es un nmero positivo:
n
Ca2 (N) = 2 - N = Ca1 (N) + 1

Ej: Ca2 (7)

Ej: Ca2 (7)

2 = 10000

4
2 = 10000

-7 = - 0111

-(-7) = -1001

1001 = repr. de -7

0111 = repr. de 7

RESTA BINARIA
Complemento a dos
TRUCO1: Complementamos cada bit y al resultado le sumamos 1,
es decir, le sumamos 1 al Ca1 del nmero
0111 -> 1000 + 1 -> 1001 (representacin de -7)
1001 -> 0110 + 1 -> 0111 (representacin de 7)
TRUCO2: Ir de izquierda a derecha, respetar el primer 1 que nos
encontremos y complementar el resto de bits
0111 -> 1001 (representacin de -7)
1001 -> 0111 (representacin de 7)

RESTA BINARIA
Complemento a dos

-1

-2
-3

1111
1110

+0
0000
0001

1101

+1

0010

+2

-4

1100

0011

+3

0 100 = + 4

-5

1011

0100

+4

1 100 = - 4

-6

1010

0101

1001

-7

0110
1000

-8

0111

+5

+6

+7

Hay una nica representacin para el cero (bueno)


Hay un nmero negativo ms
Es menos intuitivo el obtener el negativo de un nmero

RESTA BINARIA
Suma y resta de nmeros en complemento a uno
4

00100

-4

11011

+3

00011

+ (-3)

11100

00111

-7

110111
1

Se suma el bit de acarreo

11000
4

00100

-4

11011

-3

11100

+3

00011

1 100000

-1

11110

1
00001

Ca1 del
resultado

RESTA BINARIA
Suma y resta de nmeros en complemento a dos
4

00100

-4

11100

+3

00011

+ (-3)

11101

00111

-7

111001

Se desprecia el bit de
acarreo
4

00100

-4

11100

-3

11101

+3

00011

100001

-1

11111

Ca2 del
resultado

La simplicidad de las operaciones aritmticas en la notacin de complemento


a dos hace que esta notacin sea la ms utilizada en sistemas digitales

RESTA BINARIA
Sumador/Restador en complemento a dos
B3 B2 B1 B0

A3 A2 A1 A0

Co

COMPL.

SUMADOR

S3 S2 S1 S0

Ci

0 = SUMA
1 = RESTA

RESTA BINARIA
Sumador/Restador en complemento a uno
B3 B2 B1 B0

A3 A2 A1 A0

Co

COMPL.

SUMADOR

S3 S2 S1 S0

Ci

0 = SUMA
1 = RESTA

RESTA BINARIA
Circuito complementador

COMPL.

RESTA BINARIA
Ejemplo de circuito complementador: 74487
B0
B1
B2
B3
L
M

B0 B1 B2 B3 L=0, M=0 B0 B1 B2 B3
B0 B1 B2 B3 L=0, M=1 B0 B1 B2 B3
B0 B1 B2 B3 L=1, M=0 1 1 1 1
B0 B1 B2 B3 L=1, M=1 0 0 0 0

Y0
Y1
Y2
Y3

DESBORDAMIENTO (OVERFLOW)
Si estamos trabajando con n bits (1 bit de signo y n-1 bits de magnitud) los
resultados de las operaciones no deben superar el siguiente rango:

-2n-1 resultado < 2n-1 -1


Por ejemplo, si trabajamos con n = 4 bits
-24-1 resultado < 24-1 -1
-8 resultado < 7
Si nos saliese un nmero mayor que 7 o menor que -8 es que se ha producido
un desbordamiento y el resultado no ser correcto.

DESBORDAMIENTO (OVERFLOW)
Condicin de desbordamiento
Sumar dos nmeros positivos y obtener uno negativo o viceversa
-1
-2
1101

-4
-5

1111
1110

-3

-1

+0
0001
0010

1100

0100

1010

0101

1001

-7

1000

-8

0110
0111

+3
+4
+5

+6

+7
5 + 3 = -8 ???

1101

-4
-5

1111
1110

-3

+2

0011

1011

-6

-2

+1

0000

+0
+1

0000
0001

0010

1100
1011
1010

-6

0011

+3

0100

+4

0101

1001

-7

+2

1000

-8
-7 - 2 = +7 ???

0110
0111

+7

+6

+5

COMPARADORES BINARIOS DE
MAGNITUD

COMPARADORES BINARIOS DE
MAGNITUD
COMPARADOR 7485

UNIDAD ARITMTICO-LGICA (ALU)


ALU 74181

SUMA EN BCD
Representacin de nmeros en formato BCD
Los dgitos decimales del 0 al 9 se representan como 0000 a 1001 en binario
Suma:
5 = 0101

5 = 0101

3 = 0011

8 = 1000

1000 = 8

1101 = 13

Los problemas surgen


cuando el resultado
es mayor que nueve

Solucin: sumar 6 (0110) si el resultado es mayor que 9


5 = 0101

9 = 1001

8 = 1000

7 = 0111

1101 = 13 en binario
6 = 0110
1 0011 = 1 3 en BCD

1 0000 = 16 en binario
6 = 0110
1 0110 = 1 6 en BCD

SUMA EN BCD
Bloque sumador BCD

A3 A2 A1 A0

Co

B3 B2 B1 B0

SUMADOR
BCD

S3 S2 S1 S0

Ci

RESTA EN BCD

Igual que con la resta binaria, la resta en BCD se har sumando una
cantidad negativa a otra positiva
Para ello tenemos que ver primero como se representan los nmeros
BCD negativos

RESTA EN BCD
Complemento a diez
DEF: Si N es un nmero positivo, N es su negativo de tal forma que:
n
Ca10 (N) = N = 10 - N
Ej: Ca10 (3291) = 104-3291 = 10000-3291 = 6709 = 0110 0111 0000 1001

Complemento a nueve
DEF: Si N es un nmero positivo, N es su negativo de tal forma que:
n
Ca9 (N) = N = 10 - 1-N
Ej: Ca9 (3291) = 104-1-3291 = 6708 = 0110 0111 0000 1000

RESTA EN BCD
Resta de nmeros en complemento a diez
Ej: 5239 - 3291 = 5239 - Ca10 (3291)

Se desprecia el
bit de acarreo

1
0

1
0101 0010 0011

1001

0110 0111 0000

1001

10

1011 1001 0100

10010

positivo

110

110

10001

11000

0001 1001 0100

1000 = 1948 OK

RESTA EN BCD
Resta de nmeros en complemento a diez
Ej: 3291 - 5239 = 3291 - Ca10 (5239)
1
0 0011

1
0010

1001

0001

1 0100

0111

0110

0001

1 1000

1010

1111

0010

110

110

10000

10101

1
negativo

1000

0000

0101

Ca10 del resultado

0010 = -1948 OK

RESTA EN BCD
Resta de nmeros en complemento a nueve
Ej: 5239 - 3291 = 5239 - Ca9 (3291)

No se desprecia
el bit de acarreo
positivo

1
0

1
0101 0010 0011

1001

0110 0111 0000

1000

10

1011 1001 0100

10001

10

110

110

10001

10111

0001 1001 0100

0111
+1

0001 1001 0100

1000 = 1948 OK

RESTA EN BCD
Resta de nmeros en complemento a nueve
Ej: 3291 - 5239 = 3291 - Ca9 (5239)
1
0 0011

1
0010

1001

0001

1 0100

0111

0110

0000

1 1000

1010

1111

0001

110

110

10000

10101

1 1000
negativo

0000

0101

Ca9 del resultado

0001 = -1948 OK

RESTA EN BCD
Resta BCD de 2 dgitos en complemento a nueve
B3 B2 B1 B0

B7 B6 B5 B4

A7 A6 A5 A4

Co

C9

SUMADOR

S7 S6 S5 S4

A3 A2 A1 A0

Ci

Co

C9

SUMADOR

S3 S2 S1 S0

Ci

RESTA BCD
Circuito complementador a nueve

C9

También podría gustarte