You are on page 1of 17

1 1

+. Aritmtica binaria
en los computadores
Luis Rincn Crcoles
Jos Ignacio Martnez Torre
ngel Serrano Snchez de Len
Estructura y Tecnologa de Computadores (ITIG)
2
Tema 4. Aritmtica binaria en los computadores
Programa
1. Introduccin.
2. Operaciones lgicas.
3. Bases de la aritmtica binaria en coma fija.
4. Operaciones de desplazamiento.
5. Aritmtica en coma fija.
a. Aritmtica en binario natural.
b. Aritmtica en signo-magnitud.
c. Aritmtica en complemento (a 2, a 1).
d. Cambio de signo.
e. Extensin de signo.
6. Bibliografa.
Conceptos bsicos: operaciones lgicas bit a bit (not, and, or), operaciones
aritmticas bsicas en binario (+, -, *, /), desbordamiento, desplazamiento
(lgico, aritmtico, circulares), cambio de signo, extensin de signo.
2 2
3
Tema 4. Aritmtica binaria en los computadores
Los computadores operan con los datos de forma diferente dependiendo del
sistema de representacin utilizado.
Coma fija: binario puro, signo-magnitud, complemento a 2, complemento a 1,
exceso a M, BCD.
Coma flotante.
En los computadores el tamao de los operandos est limitado.
Coma fija: n = p+q bits (p: parte entera; q: parte fraccionaria).
Coma flotante: n = p+q bits (p: mantisa; q: exponente).
Estudiaremos:
La aritmtica binaria bsica.
Los distintos tipos de operaciones lgicas y desplazamientos.
La suma, la resta, la extensin de signo y el cambio de signo en algunos
sistemas de coma fija.
La aritmtica en coma flotante la veremos en un tema posterior.
1. Introduccin
4
Tema 4. Aritmtica binaria en los computadores
De acuerdo con los axiomas del lgebra de Boole, las operaciones lgicas
toman bits individuales como operandos.
Sin embargo, los computadores realizan operaciones lgicas tomando datos
completos de n bits.
Operacin lgica NOT (monaria): se invierten todos los bits del operando.
Ejemplo: n=4 bits, A=0110.
Operaciones binarias: se realizan bit a bit con dos operandos.
Ejemplo: n=4 bits, A=0110, B=1100.
2. Operaciones lgicas
A = 0 1 1 0
NOT A = 1 0 0 1
A = 0 1 1 0
B = 1 1 0 0
A OR B = 1 1 1 0
A = 0 1 1 0
B = 1 1 0 0
A AND B = 0 1 0 0
A = 0 1 1 0
B = 1 1 0 0
A XOR B = 1 0 1 0
3 3
5
Tema 4. Aritmtica binaria en los computadores
Las operaciones aritmticas en binario se realizan segn tablas ms sencillas
que las equivalentes en el sistema decimal. Para octal y hexadecimal se hara
de manera anloga.
3. Bases de la aritmtica binaria en coma fija
SUMA
BINARIA
(+)
0 1
0 0 1
1 1 1 0
acarreo
1
9
15
24
1 1 1
1 0 0 1
1 1 1 1
1 1 0 0 0
+ +
acarreos 83
21
62
1 0 1 0 0 1 1
1 0 1 0 1
1 1 1 1
0 1 1 1 1 1 0
- -
acarreos
minuendo
sustraendo
diferencia
RESTA
BINARIA
(-)
0 1
0 0 1
1 1 1 0
A A
A A
B B B B
Suma binaria Resta binaria
6
Tema 4. Aritmtica binaria en los computadores
12
6
72
1 1 0 0
1 1 0
0 0 0 0
1 1 0 0
1 1 0 0
1 0 0 1 0 0 0
64 + 8 = 72

multiplicando
resultado
A
B
PRODUCTO
BINARIO
( )
0 1
0 0 0
1 0 1
multiplicador
Productos
parciales

Producto binario
4 4
7
Tema 4. Aritmtica binaria en los computadores
La divisin binaria se puede realizar igual que la decimal.
En el caso de la binaria es ms sencillo porque se simplifica la eleccin de
cada dgito del cociente, ya que slo pueden ser 0 1.
Si el dividendo parcial es mayor o igual que el divisor, el siguiente dgito del
cociente es 1, si no es 0.
Divisin binaria
112 8
0 14
1 1 1 0 0 0 0 1 0 0 0
1 0 0 0 1 1 1 0
0 1 1 0 0
1 0 0 0
0 1 0 0 0
1 0 0 0
0 0 0 0 0
0 0 0 0
0 0 0 0
cociente
resto
divisor
dividendo
-
-
-
-
8
Tema 4. Aritmtica binaria en los computadores
Multiplicacin y divisin de un nmero N por una potencia de la base r (r
m
):
q -
q -
1 -
1 -
0
0
1 - p
1 - p
r a r a r a r a N + + + + + =
m p -
p -
m 1 -
1 -
m 0
0
m 1 - n
1 - n
m
r a r a r a r a r N
+ + + +
+ + + + + =
La coma aparece a la derecha del dgito a
i
que cumple i+m = 0 i = -m, es decir
detrs del dgito que originalmente era a
-m
.
si m > 0 (producto) se mueve (desplaza) la coma p lugares a la derecha.
si m < 0 (divisin) se mueve (desplaza) la coma p lugares a
la izquierda.
Ejemplo: (1101001,111)
2
2
3
= (1101001111,0)
2
(1101001,111)
2
2
-4
= (110,1001111)
2
(10,53)
10
10
4
= (105300,0)
10
5 5
9
Tema 4. Aritmtica binaria en los computadores
El desbordamiento (overflow) es la circunstancia que sucede cuando el
resultado de una operacin aritmtica est fuera del rango de representacin.
Desbordamiento positivo: el nmero es positivo y mayor que el ms grande
representable.
Desbordamiento negativo: el nmero es ms negativo (menor) que el
extremo inferior del rango de los negativos.
Es necesario detectar la condicin de desbordamiento (el resultado
obtenido es errneo!).
Subdesbordamiento (underflow): sucede cuando el nmero que queremos
representar est demasiado cercano a 0 y se confunde con l.
Subdesbordamiento positivo: el nmero es positivo.
Subdesbordamiento negativo: el nmero es negativo.
Situaciones especiales
10
Tema 4. Aritmtica binaria en los computadores
Son operaciones unarias en las que los bits del operando se desplazan hacia
la izquierda o hacia la derecha.
La longitud del desplazamiento ser s 1, generndose un hueco de s bits.
Segn el criterio utilizado para dar valores a los s bits del hueco hay varios
tipos de desplazamientos:
Lgicos.
Aritmticos.
Circulares (rotaciones).
Los desplazamientos y rotaciones suelen involucrar a algn indicador de
resultado.
4. Operaciones de desplazamiento
6 6
11
Tema 4. Aritmtica binaria en los computadores
En este caso los bits del hueco se rellenan con ceros.
El ltimo bit que sale se almacena en un indicador llamado C.
Desplazamiento lgico
Desplazamientos lgicos a la derecha:
Longitud s = 3
A = 000001
C = 0
Longitud s = 2
A = 000010
C = 1
Longitud s = 1
A = 000101
C = 1
Desplazamientos lgicos a la izquierda:
Longitud s = 3
A = 011000
C = 1
Longitud s = 2
A = 101100
C = 0
Longitud s = 1
A = 010110
C = 0
Ejemplos: n = 6 bits, A = 001011
12
Tema 4. Aritmtica binaria en los computadores
Se usa cuando se considera que el dato es un nmero en complemento a 2.
Hacia la derecha: se replica el bit de signo.
Hacia la izquierda: se rellena con ceros, y si se modifica el bit de signo en el
proceso el indicador V se pone a 1.
El ltimo bit que sale va al indicador C.
Desplazamiento aritmtico
n = 6 bits, A = 001011:
Longitud s = 3
A = 000001
C = 0
Longitud s = 2
A = 000010
C = 1
Longitud s = 1
A = 000101
C = 1
Longitud s = 3
B = 111100
C = 1
Longitud s = 2
B = 111001
C = 0
Longitud s = 1
B = 110010
C = 1
Ejemplos de desplazamientos aritmticos a la derecha:
n = 6 bits, B = 100101:
7 7
13
Tema 4. Aritmtica binaria en los computadores
n = 6 bits, A = 001011:
Longitud s = 3
A = 011000
C = 1, V = 0
Longitud s = 2
A = 101100
C = 0, V = 1
Longitud s = 1
A = 010110
C = 0, V = 0
Longitud s = 3
B = 101000
C = 0, V = 0
Longitud s = 2
B = 010100
C = 0, V = 1
Longitud s = 1
B = 001010
C = 1, V = 1
Ejemplos de desplazamientos aritmticos a la izquierda:
n = 6 bits, B = 100101:
14
Tema 4. Aritmtica binaria en los computadores
Los bits que salen por un extremo entran por el otro.
El ltimo bit que sale va al indicador C.
Rotacin
Rotacin a la derecha:
Longitud s = 3
A = 001011
A = 011001
C = 0
Longitud s = 2
A = 001011
A = 110010
C = 1
Longitud s = 1
A = 001011
A = 100101
C = 1
Rotacin a la izquierda:
Longitud s = 3
A = 001011
A = 011001
C = 1
Longitud s = 2
A = 001011
A = 101100
C = 0
Longitud s = 1
A = 001011
A = 010110
C = 0
Ejemplos: n = 6 bits, A = 001011
8 8
15
Tema 4. Aritmtica binaria en los computadores
Los bits que salen por un extremo entran por el otro, interponindose un indicador
en el proceso que acta de almacn.
El ltimo bit que sale va al indicador C.
Rotacin con extensin
Rotacin a la derecha con extensin:
Longitud s = 3
C = 1, A = 001011
C = 0, A = 111001
Longitud s = 2
C = 1, A = 001011
C = 1, A = 110010
Longitud s = 1
C = 1, A = 001011
C = 1, A = 100101
Rotacin a la izquierda con extensin:
Longitud s = 3
C = 1, A = 001011
C = 1, A = 011100
Longitud s = 2
C = 1, A = 001011
C = 0, A = 101110
Longitud s = 1
C = 1, A = 001011
C = 0, A = 010111
Ejemplos: n = 6 bits, A = 001011, inicialmente C=1
16
Tema 4. Aritmtica binaria en los computadores
Despl. a la Izquierda Despl. a la Derecha
Lgico
Aritmtico
Circular
Circular con
extensin
9 9
17
Tema 4. Aritmtica binaria en los computadores
Estudiaremos las reglas bsicas de la aritmtica de algunos sistemas de
representacin numrica en coma fija estudiados:
Binario puro.
Magnitud y signo.
Complemento a 2.
Complemento a 1.
5. Aritmtica binaria en coma fija
18
Tema 4. Aritmtica binaria en los computadores
acarreo
Sus reglas son las de la aritmtica binaria ya estudiada, con la limitacin del
tamao de los operandos (n = p+q).
Desbordamiento: puede darse al realizar sumas, restas, multiplicaciones y
divisiones.
Suma: el resultado puede tener n+1 bits (acarreo superior C = 1)
1101 13
+ 1111 +15
1 1100 28
acarreo
1101 13
- 1111 - 15
1 1110 - 2
Resta: el resultado puede ser negativo (acarreo superior C = 1)
Producto: al multiplicar nmeros de n bits el resultado puede necesitar hasta
2n bits (puede salirse de rango!).
Divisin: hay desbordamiento si el divisor es 0.
5.a. Aritmtica de binario puro
DESBORDAMIENTO NEGATIVO:
sustraendo mayor que minuendo
DESBORDAMIENTO POSITIVO
10 10
19
Tema 4. Aritmtica binaria en los computadores
Este sistema equivale al que los humanos usamos para operar.
Diferencia: opera en binario y no en base 10.
Las reglas bsicas son similares a las del binario puro.
Diferencia: es preciso tratar por separado signos y magnitudes.
Suma: R = A + B
Signo(A) = Signo(B):
Signo(R) = signo(A) = signo(B)
|R| = |A| + |B|
A 0 y B 0:
Si |A| |B| signo(R) = 0 y |R| = |A| |B|
Si |A| < |B| signo(R) = 1 y |R| = |B| |A|
A 0 y B 0: igual que el caso anterior cambiando A por B.
Resta: similar a la suma, cambiando el signo del segundo operando.
5.b. Aritmtica en magnitud y signo
20
Tema 4. Aritmtica binaria en los computadores
Por tanto, al sumar o restar con mdulo y signo se debe hacer lo siguiente:
1. Observar los signos y decidir qu operacin se va a realizar.
2. Ordenar los mdulos si hay que restar.
3. Operar con los mdulos y detectar el posible desbordamiento.
4. Colocar el signo al resultado.
Producto:
1. Se separan el signo y el mdulo del multiplicando y del multiplicador.
2. Se multiplican los mdulos (da un resultado de hasta 2n-2 bits).
3. Si los signos del multiplicando y el multiplicador son iguales, el resultado es
positivo, y si no es negativo.
El resultado puede tener hasta 2n-1 bits (puede salirse de rango!).
11 11
21
Tema 4. Aritmtica binaria en los computadores
Divisin:
1. Se separan el signo y el mdulo del dividendo y del divisor.
2. Se dividen los mdulos.
3. Si los signos del dividendo y divisor son iguales, el cociente es positivo, y si no
es negativo.
4. El signo del resto ser siempre igual que el del dividendo.
Desbordamiento: se detecta al operar con los mdulos.
Puede producirse al sumar dos nmeros de igual signo o al restar dos nmeros de
distinto signo.
Tambin puede producirse desbordamiento en productos y divisiones.
22
Tema 4. Aritmtica binaria en los computadores
Para simplificar el diseo de los circuitos aritmticos del computador sera muy
bueno que la suma y la resta pudieran ser tratadas sin distinciones, es decir,
que la resta pudiera realizarse como si fuese una suma y no con un circuito
radicalmente distinto.
En matemticas se suele tratar a la resta como la suma de un opuesto, es
decir, A-B = A+(-B), pero an as hay que utilizar la tabla de la resta.
Ejemplo: base r=10, n=2 dgitos.
23 La suma no sirve para hacer la resta.
02
21
Complementando
el sustraendo y
sumando:
23 La suma casi sirve para hacer la resta
+ 98 a excepcin de un 1 como bit ms
1 21 significativo.
5.c. Aritmtica en complemento
12 12
23
Tema 4. Aritmtica binaria en los computadores
Sistema decimal (base 10): C
10
N = 10
n
- N
Si n = 2, C
10
(2) = 10
2
- 2 = 100 - 2 = 98
Sistema binario (base 2): C
2
N = 2
n
- N
Si n = 4, C
2
(1010) = 10000 - 1010 = 0110
Si n = 5, C
2
(10100) = 2
5
- 10100 = 01100
Ejemplo:
Inconveniente: hay que complementar el sustraendo.
Sin embargo, ya sabemos que en base 2 el C
2
N se puede calcular sin restar.
Debido a que en la complementacin el minuendo siempre es de la forma
10...00, para el clculo del C
2
se procede de derecha a izquierda de la
siguiente manera:
Copiar todos los bits de N hasta el primer 1 inclusive.
El resto de los bits se obtienen cambiando 1s por 0s y 0s por 1s.
100000
10100
01100
La importancia del C
r
de N reside en que permite restar aplicando la suma.
24
Tema 4. Aritmtica binaria en los computadores
Suma en complemento a 2:
Adems de permitir la resta mediante la operacin de suma, los nmeros
representados en complemento a la base permiten calcular la suma operando
con todos los bits de igual modo, sin hacer distinciones con el bit de signo.
Esto hace que la representacin en complemento a 2 sea muy utilizada.
Si A >0 y B >0: aritmtica binaria pura. Ejemplo:
0100 4
+ 0010 + 2
0110 6
Si A >0 y B <0: dos posibles casos dependiendo del valor absoluto de A y B
Si |A| |B| R positivo, signo(R) = 0, se calcula R = |A| |B|
0110 6
+ 1100 - 4
1 0010 2
Ejemplo: 6 + (-4) = 2 A se representa normal
B se representa en C
2
R = A + B = |A| + r
n
- |B| = r
n
+ |A| - |B|
es un nmero positivo normal,
y se desprecia el bit de acarreo
13 13
25
Tema 4. Aritmtica binaria en los computadores
Si A >0 y B <0:
Si |A| < |B| R negativo, signo(R) = 1, se calcula R = -(|B| |A|)
0100 4
+ 1010 - 6
1110 - 2
Ejemplo: 4 + (-6) = -2
A se representa normal
B se representa en C
2
R = A + B = |A| + r
n
- |B| = r
n
- (|B| - |A|),
es un nmero negativo en complemento
a la base, sin acarreo
Si A <0 y B >0: caso anterior cambiando A por B (conmutatividad).
Si A <0 y B <0 R negativo, signo(R) = 1, se calcula R = -(|A| + |B|)
A se representa en C
2
B se representa en C
2
R = A + B = r
n
- |A| + r
n
- |B| = r
n
+ (r
n
- (|A| + |B|)),
es un nmero negativo en complemento
a la base, y se desprecia el bit de acarreo
1110 -2
+ 1101 -3
1 1011 -5
Ejemplo: -2 + (-3) = -5
26
Tema 4. Aritmtica binaria en los computadores
Resta en complemento a 2:
Toda operacin de resta en complemento a la base puede reducirse a un caso
de suma, sin ms que complementar previamente el sustraendo.
Ejemplo: A = 6
10
= 0110
C2
, B = 4
10
= 0100
C2
, A-B = 2
10
, n = 4, q = 0
Primero: complementar el sustraendo -B
C2
= C2(B
C2
) = 1100
C2
Segundo: sumar A+(-B)
0110
+ 1100
10010
Ejemplo: A = -7
10
= 1001
C2
, B = -3
10
= 1101
C2
, A-B = -4
10
, n = 4, q = 0
Primero: complementar el sustraendo -B
C2
= C2(B
C2
) = 0011
C2
Segundo: sumar A+(-B)
1001
+ 0011
1100
El acarreo superior se desprecia,
y el resultado es positivo
14 14
27
Tema 4. Aritmtica binaria en los computadores
En sumas y restas en complemento a 2, el bit de acarreo superior
siempre se desprecia, y el resultado obtenido siempre es correcto (salvo
que se produzca desbordamiento).
Desbordamiento en sumas y restas: se detecta porque el resultado
presenta un signo errneo.
Puede producirse desbordamiento al sumar dos nmeros de igual signo o al restar
dos nmeros de distinto signo.
Nunca puede haber desbordamiento al sumar nmeros de distinto signo o al restar
nmeros de igual signo.
El posible acarreo superior resultante en una suma o una resta no indica
desbordamiento.
Tambin puede producirse desbordamiento en productos y divisiones.
28
Tema 4. Aritmtica binaria en los computadores
Ejemplos de sumas con desbordamiento
A = 6
10
= 0110
C2
, B = 3
10
= 0011
C2
, A+B = 9
10
, n = 4, q = 0
0110 6
+ 0011 + 3
1001 -7!!
La suma de dos nmeros positivos
no puede producir un nmero
negativo: hay desbordamiento (pero
no acarreo)
A = -3
10
= 1101
C2
, B = -7
10
= 1001
C2
, A+B = -10
10
, n = 4, q = 0
1101 -3
+ 1001 + -7
10110 6!!
La suma de dos nmeros negativos no
puede producir un nmero positivo: hay
desbordamiento (y acarreo)
El acarreo superior se desprecia, y el
resultado es positivo
15 15
29
Tema 4. Aritmtica binaria en los computadores
Aunque hay algoritmos para multiplicar y dividir directamente nmeros en
complemento a 2, no los vamos a estudiar todava (tema 14).
De momento, para multiplicar y para dividir haremos lo siguiente:
Pasamos los operandos a positivos.
Operamos en binario puro.
Si el anlisis de los signos de los operandos revela que el resultado (o el cociente
o el resto) debe ser negativo, se complementa el dato obtenido.
De forma anloga a la aritmtica estudiada para la representacin en
complemento a la base, se puede estudiar la aritmtica para la representacin en
complemento restringido a la base (complemento a 1).
El acarreo superior siempre se desprecia.
Problema: si en sumas o restas el bit de acarreo superior vale 1, es preciso sumar
1 al resultado.
30
Tema 4. Aritmtica binaria en los computadores
Binario puro: no es posible.
Magnitud y signo: basta con invertir el bit de signo.
Complemento a 2: se lleva a cabo mediante la complementacin.
Ejemplo 1: cambiar de signo el nmero A
C2
= 00011101
C2
, n = 8, q = 0
-A
C2
= C2(A
C2
) = 11100011
C2
Valor de -A
C2
= 11100011
C2
= 1x2
0
+ 1x2
1
+ 1x2
5
+ 1x2
6
- 1x2
7
= -29
Ejemplo 2: cambiar de signo el nmero -A
C2
= 11100011
C2
, n = 8, q = 0
-(-A
C2
) = C2(-A
C2
) = 00011101
C2
Valor de -(-A
C2
) = 00011101
C2
= 1x2
0
+ 1x2
2
+ 1x2
3
+ 1x2
4
= 29
Ejemplo 3: cambiar de signo el nmero B
C2
= 11001011
C2
, n = 8, q = 0
-B
C2
= C2(B
C2
) = 00110101
C2
Valor de -B
C2
= 00110101
C2
= 1x2
0
+ 1x2
2
+ 1x2
4
+ 1x2
5
= 53
Complemento a 1: igual que en complemento a 2.
5.d. Cambio de signo
16 16
31
Tema 4. Aritmtica binaria en los computadores
Es una operacin consistente en que, dado un nmero A representado con n
bits, pasamos a representarlo con m bits, siendo n < m.
Binario puro: se rellenan los bits sobrantes en el destino con 0.
Ejemplo: extender X = 0110
2
de 4 a 8 bits 0110
00000110
Magnitud y signo: se desplaza a la izquierda el bit de signo, y el hueco en el
destino se rellena con bits a 0.
Ejemplo 1: extender X = 100110
MS
de 6 a 8 bits 100110
10000110
Ejemplo 2: extender X = 010011
MS
de 6 a 8 bits 010011
00010011
5.e. Extensin de signo
32
Tema 4. Aritmtica binaria en los computadores
Complemento a 2: se replica el bit de signo hacia la izquierda.
Ejemplo 1: extender X = 100110
C2
de 6 a 8 bits 100110
11100110
Ejemplo 2: extender X = 010011
C2
de 6 a 8 bits 010011
00010011
Complemento a 1: se hace igual que en complemento a 2.
17 17
33
Tema 4. Aritmtica binaria en los computadores
C. CERRADA, V. FELIU. Estructura y Tecnologa de Computadores I.
U.N.E.D., 1993.
J.M. ANGULO, J.GARCA. Sistemas Digitales y Tecnologa de Computadores.
Paraninfo, 2002.
P. DE MIGUEL. Fundamentos de los Computadores. 7 edicin. Paraninfo,
1999.
W. STALLINGS. Organizacin y Arquitectura de Computadores. 5 edicin,
Prentice Hall, 2000.
D.A. PATTERSON, J.L. HENNESSY. Estructura y Diseo de Computadores.
Revert, 2000.
A. PRIETO, A. LLORIS, J.C. TORRES. Introduccin a la Informtica. 3
edicin, McGraw-Hill, 2002.
L. RINCN. Representacin Digital de la Informacin en los Computadores.
Apuntes complementarios de la asignatura.
6. Bibliografa

You might also like