You are on page 1of 24

1 1

ESTRUCTURA Y TECNOLOGA DE ESTRUCTURA Y TECNOLOGA DE


COMPUTADORES COMPUTADORES
Universidad
Rey Juan Carlos
Aritmtica binaria en los computadores
Luis Rincn Crcoles
Jos Ignacio Martnez Torre
Cristina Conde Vilda
Aritmtica binaria en los computadores
2
Programa
1. Introduccin.
2. Operaciones lgicas.
3. Bases de la aritmtica binaria en coma fija.
4. Indicadores de resultado.
5. Operaciones de desplazamiento.
6. Aritmtica en coma fija.
a) Aritmtica en binario natural.
b) Aritmtica en signo-magnitud.
c) Aritmtica en complemento.
d) Aritmtica en exceso.
e) Aritmtica en BCD.
f) Cambio de signo.
g) Extensin de signo.
7. Aritmtica en coma flotante.
a) Suma y resta en coma flotante.
b) Multiplicacin y divisin en coma flotante.
8. Conclusiones y bibliografa.
2 2
Aritmtica binaria en los computadores
3
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
sistemas de coma fija.
La suma, la resta, el producto y la divisin en coma flotante.
1. Introduccin
Aritmtica binaria en los computadores
4
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: 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 EXOR B = 1 0 1 0
3 3
Aritmtica binaria en los computadores
5
Las operaciones aritmticas en binario se realizan segn tablas ms sencillas
que las equivalentes en el sistema decimal.
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
Aritmtica binaria en los computadores
6
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
Bases de la aritmtica binaria en coma fija
4 4
Aritmtica binaria en los computadores
7
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
-
-
-
-
Bases de la aritmtica binaria en coma fija
Aritmtica binaria en los computadores
8
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
Bases de la aritmtica binaria en coma fija
5 5
Aritmtica binaria en los computadores
9
Se emplean para indicar ciertas caractersticas del resultado de las operaciones
realizadas en la UAL.
Tambin se les conoce como cdigos de condicin o flags.
Indicadores de resultado ms frecuentes:
Z: indicador de resultado nulo (Z=1 si el resultado es 0, Z=0 si no).
N: indicador de signo en operaciones en sistemas de representacin de
nmeros con signo (N=1 si el resultado es negativo, N=0 si es positivo 0)
C: bit de acarreo superior en operaciones en binario puro.
V: indicador de desbordamiento en operaciones con representaciones de
datos con signo (V=1 si hay desbordamiento, V=0 si no).
El microprocesador Motorola 68000 utiliza un indicador llamado X (indicador de
extensin) parecido al acarreo.
4. Indicadores de resultado
Aritmtica binaria en los computadores
10
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.
Indicadores de resultado
6 6
Aritmtica binaria en los computadores
11
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.
5. Operaciones de desplazamiento
Aritmtica binaria en los computadores
12
En este caso los bits del hueco se rellenan con ceros.
El ltimo bit que sale va al indicador C (y/o al X).
Desplazamiento lgico
Desplazamientos lgicos a la derecha
Longitud s = 3
A = 000001
C,X = 0
Longitud s = 2
A = 000010
C,X = 1
Longitud s = 1
A = 000101
C,X = 1
Desplazamientos lgicos a la izquierda
Longitud s = 3
A = 011000
C,X = 1
Longitud s = 2
A = 101100
C,X = 0
Longitud s = 1
A = 010110
C,X = 0
Ejemplos: n = 6 bits, A = 001011
7 7
Aritmtica binaria en los computadores
13
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 (y/o al X).
Desplazamiento aritmtico
n = 6 bits, A = 001011
Longitud s = 3
A = 000001
C,X = 0
Longitud s = 2
A = 000010
C,X = 1
Longitud s = 1
A = 000101
C,X = 1
Longitud s = 3
A = 111100
C,X = 1
Longitud s = 2
A = 111001
C,X = 0
Longitud s = 1
A = 110010
C,X = 1
Ejemplos de desplazamientos aritmticos a la derecha
n = 6 bits, B = 100101
Aritmtica binaria en los computadores
14
n = 6 bits, A = 001011
Longitud s = 3
A = 011000
C,X = 0, V = 1
Longitud s = 2
A = 101100
C,X = 1, V = 1
Longitud s = 1
A = 010110
C,X = 1, V = 0
Longitud s = 3
A = 101000
C,X = 1, V = 1
Longitud s = 2
A = 110000
C,X = 0, V = 1
Longitud s = 1
A = 001010
C,X = 1, V = 1
Ejemplos de desplazamientos aritmticos a la izquierda
n = 6 bits, B = 100101
Desplazamiento aritmtico
8 8
Aritmtica binaria en los computadores
15
Los bits que salen por un extremo entran por el otro.
El ltimo bit que sale va al indicador C (y/o al X).
Rotacin
Rotacin a la derecha
Longitud s = 3
A = 001011
A = 011001
C,X = 0
Longitud s = 2
A = 001011
A = 110010
C,X = 1
Longitud s = 1
A = 001011
A = 100101
C,X = 1
Rotacin a la izquierda
Longitud s = 3
A = 001011
A = 011001
C,X = 1
Longitud s = 2
A = 001011
A = 101100
C,X = 0
Longitud s = 1
A = 001011
A = 010110
C,X = 0
Ejemplos: n = 6 bits, A = 001011
Aritmtica binaria en los computadores
16
Los bits que salen por un extremo entran por el otro, interponindose un indicador
en el proceso (X en el MC68000)
El ltimo bit que sale va al indicador C (y/o al X).
Rotacin con extensin
Rotacin a la derecha con extensin
Longitud s = 3
X = 1, A = 001011
X = 0, A = 011001
Longitud s = 2
X = 1, A = 001011
X = 1, A = 110010
Longitud s = 1
X = 1, A = 001011
X = 1, A = 100101
Rotacin a la izquierda con extensin
Longitud s = 3
X = 1, A = 001011
X = 1, A = 011100
Longitud s = 2
X = 1, A = 001011
X = 0, A = 101110
Longitud s = 1
X = 1, A = 001011
X = 0, A = 010111
Ejemplos: n = 6 bits, A = 001011, inicialmente X=1
9 9
Aritmtica binaria en los computadores
17
Estudiaremos las reglas bsicas de la aritmtica segn los distintos sistemas
de representacin numrica en coma fija estudiados:
Binario puro
Magnitud y signo
Complemento a 2
Complemento a 1
Exceso a M
BCD
6. Aritmtica binaria en coma fija
Aritmtica binaria en los computadores
18
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.
6.a. Aritmtica de binario puro
DESBORDAMIENTO NEGATIVO:
sustraendo mayor que minuendo
DESBORDAMIENTO POSITIVO
10 10
Aritmtica binaria en los computadores
19
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 de R=A+B: casos posibles
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.
6.b. Aritmtica en magnitud y signo
Aritmtica binaria en los computadores
20
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!).
Aritmtica en magnitud y signo
11 11
Aritmtica binaria en los computadores
21
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.
Aritmtica en magnitud y signo
Aritmtica binaria en los computadores
22
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.
6.c. Aritmtica en complemento
12 12
Aritmtica binaria en los computadores
23
Sistema decimal (base 10): C
10
N = 10
n
- N
Si n = 2, C
10
(02) = 10
2
- 02 = 100 - 02 = 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:
Pega: hay que complementar el sustraendo.
Sin embargo, 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.
Aritmtica en complemento
Aritmtica binaria en los computadores
24
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
Aritmtica en complemento
13 13
Aritmtica binaria en los computadores
25
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
Aritmtica en complemento
Aritmtica binaria en los computadores
26
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
Aritmtica en complemento
14 14
Aritmtica binaria en los computadores
27
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.
La presencia de desbordamiento se revela poniendo el indicador V a 1.
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.
Aritmtica en complemento
Aritmtica binaria en los computadores
28
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: V = 1
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: V = 1
El acarreo superior se desprecia, y el
resultado es positivo
Aritmtica en complemento
15 15
Aritmtica binaria en los computadores
29
Es posible utilizar la resta en complemento a 2 para realizar ms facilmente
la resta en binario puro.
Precaucin: hay que invertir el bit de acarreo superior una vez realizada la
operacin de resta en complemento a 2.
Ejemplo: A=0111
2
, B = 0011
2
, A-B = 4
10
, n = 4, q = 0
Acarreo superior errneo:
hay que invertirlo C=0
Operacin en binario puro
0111
- 0011
0100
Operacin en complemento a 2
0111
+ 1101
10100
Ejemplo: A=0011
2
, B = 0100
2
, A-B = -1
10
, n = 4, q = 0
Acarreo superior errneo:
hay que Invertirlo C=1
Operacin en binario puro
0011
- 0100
11111
Operacin en complemento a 2
0011
+ 1100
01111
Aritmtica en complemento
Aritmtica binaria en los computadores
30
Aunque hay algoritmos para multiplicar y dividir directamente nmeros en
complemento a 2, no los vamos a estudiar todava.
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.
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.
Aritmtica en complemento
16 16
Aritmtica binaria en los computadores
31
Suma en exceso a M:
La operacin es similar al binario puro, pero hay que restar M al resultado
obtenido.
Si queremos sumar A y B para obtener C=A+B, tendremos que:
A se representa en exceso como A+M
B se representa en exceso como B+M
Queremos obtener C representado en exceso, o sea, (A+B)+M
Al hacer la suma obtenemos (A+M)+(B+M) = (A+B)+M+M, es decir, obtenemos
el exceso 2 veces: es preciso restar M al resultado obtenido.
Ejemplo (M=2
n-1
):
10101011 43
+ 01101011 + - 21
100010110
- 10000000
10010110 22
6.d. Aritmtica en exceso a M
Aritmtica binaria en los computadores
32
Resta en exceso a M:
La operacin es similar al binario puro, pero hay que sumar M al
resultado obtenido.
Si queremos restar A y B para obtener C=A-B, tendremos que:
A se representa en exceso como A+M
B se representa en exceso como B+M
Queremos obtener C representado en exceso, o sea, (A-B)+M
Al hacer la suma obtenemos (A+M)-(B+M) = (A-B)+M-M = (A-B), es decir, el
resultado est en binario puro y para pasarlo a exceso habr que sumarle M
Ejemplo (M=2
n-1
):
10101011 43
- 01101011 - - 21
01000000
+ 10000000
11000000 64
Aritmtica en exceso a M
17 17
Aritmtica binaria en los computadores
33
Desbordamiento en sumas o restas en exceso a M:
Se detecta cuando se produce desbordamiento en binario puro en la
operacin de correccin del resultado.
Ejemplos (M=2
n-1
):
00000100 -124
+ 00101011 + - 85
01101111
- 10000000
111101111
DESBORDAMIENTO NEGATIVO:
sustraendo mayor que minuendo
C=1
11111000 120
+ 10010101 + 21
110001101
- 10000000
100001101
DESBORDAMIENTO POSITIVO
C=1
Aritmtica en exceso a M
Aritmtica binaria en los computadores
34
Ejemplos:
0100 4
+ 0011 + 3
0111 7
1001 9
+ 1001 + 9
1 0010
+ 0110 + 6
1 1000 18
Incorrecto
BCD
Correcto
BCD
La resta en BCD es complicada (es una suma haciendo el complemento
a 10 del sustraendo).
1000 8
+ 0011 + 3
1011
+ 0110 + 6
1 0001 11
Incorrecto
BCD
Correcto
BCD
6.e. Aritmtica en BCD
La suma de dos dgitos representados en BCD proporciona un dgito correcto
representado en BCD, a no ser que:
El dgito resultante sea mayor que 9.
Se produzca un acarreo superior.
Correccin: sumar 6 al dgito resultante y dar un acarreo superior a la
siguiente pareja de dgitos BCD.
18 18
Aritmtica binaria en los computadores
35
Para reducir el problema se puede utilizar la codificacin en Exceso-3 (XS-3)
1000 5
+ 0101 + 2
1101
- 0011 -3
1010 7
Incorrecto
BCD
Correcto
BCD
Al sumar dos dgitos en BCD en XS-3, si se ha producido acarreo se sumar
0011 al dgito resultante, y si no se ha producido, se le restar 0011.
1000 5
+ 1001 + 6
1 0001
+ 0011 +3
1 0100 1 1
Aritmtica en BCD
Ejemplos:
Aritmtica binaria en los computadores
36
Ejemplos:
1000 5
- 0101 - 2
0011
+ 0011 +3
0110 3
Incorrecto
BCD
Correcto
BCD
Al restar dos dgitos en BCD XS-3, si se ha producido acarreo se restar
0011 al dgito resultante, y si no se ha producido, se sumar 0011.
1000 5
- 1001 - 6
1 1111
- 0011 - 3
1 1100 1 9
Aritmtica en BCD
19 19
Aritmtica binaria en los computadores
37
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.
Exceso a M: complicado.
6.f. Cambio de signo
Aritmtica binaria en los computadores
38
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
6.g. Extensin de signo
20 20
Aritmtica binaria en los computadores
39
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.
Exceso a M: no se suele hacer, ya que implica un cambio en el valor del
exceso.
Extensin de signo
Aritmtica binaria en los computadores
40
Es similar a la aritmtica en notacin cientfica en base 10.
Al sumar y al restar es preciso alinear los exponentes, lo
cual implica desplazar a la derecha la mantisa del nmero con
menor exponente.
Al multiplicar no es preciso alinear las mantisas: se
multiplican las mantisas y se suman los exponentes.
7. Aritmtica en coma flotante
Al dividir tampoco es preciso alinear las mantisas: se
dividen las mantisas y se restan los exponentes.
( )
B a
b
a
exp exp
b a
exp
b
exp
a
2 m m B A R
2 m B
2 m A
+
= =
)
`

=
=
B a
b
a
exp exp
b
a
exp
b
exp
a
2
m
m
B
A
R
2 m B
2 m A

|
|
.
|

\
|
= =
)
`

=
=
21 21
Aritmtica binaria en los computadores
41
7.a. Suma y resta en coma flotante
Inicio
Alinear las mantisas
Sumar/restar las
mantisas
Normalizar la mantisa
resultante
Exponente mayor
que el mximo?
Redondear la
mantisa resultante
Todava est
normalizada?
Fin
S
No
No
S
Infinito positivo
o negativo
Exponente menor
que el mnimo?
Representar nmero en
forma desnormalizada
No
S
Aritmtica binaria en los computadores
42
Ejemplos: suma en IEEE 754 precisin simple
0) Dividir en campos (aadimos un bit a 0 en la parte entera de la mantisa)
A 0 10011000 11101000000000000000000
M
a
= 00111101000000000000000000
M/S
Exp
a
= 10011000
E127
B 0 10010011 00001000000000000010111
M
b
= 00100001000000000000010111
M/S
Exp
b
= 10010011
E127
1) Alinear mantisas: Exp
a
- Exp
b
= 5 desplazar M
b
5 lugares a la derecha
M
b
= 0000000100001000000000000010111
M/S
2) Sumar las mantisas
M = M
A
+ M
B
= 0011111000001000000000000010111
M/S
3) Normalizar la mantisa resultante: M ya est normalizada
4) Redondear la mantisa: M = 011111000001000000000000010111
M/S

M = 0111110000010000000000001
M/S
5) Resultado
R = 0 10011000 11110000010000000000001
4 C 7 8 2 0 0 1
Sumar A=4C740000 y B=49840017
22 22
Aritmtica binaria en los computadores
43
Ejemplos: resta en IEEE 754 precisin simple
0) Dividir en campos (aadimos un bit a 0 en la parte entera de la mantisa)
A 0 10011000 11101000000000000000000
M
a
= 00111101000000000000000000
M/S
Exp
a
= 10011000
E127
B 0 10010011 00001000000000000010111
M
b
= 00100001000000000000010111
M/S
Exp
b
= 10010011
E127
1) Alinear mantisas: Exp
a
- Exp
b
= 5 desplazar M
b
5 lugares a la derecha
M
b
= 0000000100001000000000000010111
M/S
2) Restar las mantisas
M = M
A
- M
B
= 0011101111110111111111111101001
M/S
3) Normalizar la mantisa resultante: M ya est normalizada
4) Redondear la mantisa: M = 011101111110111111111111101001
M/S

M = 0111011111101111111111111
M/S
5) Resultado
R = 0 10011000 11011111101111111111111
4 C 6 F D F F F
Restar A=4C740000 y B=49840017
Aritmtica binaria en los computadores
44
Ejemplos: suma en IEEE 754 precisin simple
0) Dividir en campos (aadimos un bit a 0 en la parte entera de la mantisa)
A 1 01010011 00011110000000000000000
M
a
= 10100011110000000000000000
M/S
Exp
a
= 01110011
E127
B
M
b
= 00111000000000000000000000
M/S
Exp
b
= 01101101
E127
1) Alinear mantisas: Exp
a
- Exp
b
= 6 desplazar M
b
6 lugares a la derecha
M
b
= 000000000111000000000000000000000
M/S
2) Sumar las mantisas
M = M
A
+ M
B
= 10100010111000000000000000000000
M/S
3) Normalizar la mantisa resultante: M ya est normalizada
4) Redondear la mantisa: M = 10100010111000000000000000000000
M/S

M = 11 00010111000000000000000
M/S
5) Resultado
R = 1 01110011 00010111000000000000000
B 9 8 B 8 0 0 0
Sumar A=B98F0000 y B=36E00000
23 23
Aritmtica binaria en los computadores
45
7.b. Multiplicacin y divisin en coma flotante
Inicio
Sumar/restar los
exponentes
Multiplicar/dividir las
mantisas
Normalizar la mantisa
resultante
Exponente mayor
que el mximo?
Redondear la
mantisa resultante
Todava est
normalizada?
Fin
S
No
No
S
Infinito positivo
o negativo
Exponente menor
que el mnimo?
Representar nmero en
forma desnormalizada
No
S
Aritmtica binaria en los computadores
46
8. Conclusiones
Hemos estudiado las operaciones aritmticas (y lgicas) bsicas tpicas de los
computadores actuales.
Los computadores realizan estas operaciones directamente mediante circuitos.
La complejidad de los circuitos que realizan las operaciones depende de la
complejidad del procedimiento requerido.
Los circuitos necesarios para operar en coma fija son ms sencillos (y ms
rpidos) que los circuitos necesarios para operar en coma flotante.
Los sistemas ms usuales directamente soportados en los computadores son:
Coma fija sin signo: binario puro.
Coma fija con signo: complemento a 2.
Coma flotante: IEEE 754 (signo-magnitud para mantisa y exceso a M para
exponente).
El sistema BCD se usa en aplicaciones bancarias y similares, porque permite
representar de forma exacta las cantidades en base 10 con tantas cifras
fraccionarias como sea preciso, mientras que la base 2 no lo permite.
24 24
Aritmtica binaria en los computadores
47
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.
Bibliografa

You might also like