Está en la página 1de 17

Estructura y Tecnología de Computadores (ITIG)

Luis Rincón Córcoles


José Ignacio Martínez Torre
Ángel Serrano Sánchez de León

Tema 4. Aritmética binaria en los computadores

Programa
1. Introducción.
2. Operaciones lógicas.
3. Bases de la aritmética binaria en coma fija.
4. Operaciones de desplazamiento.
5. Aritmética en coma fija.
a. Aritmética en binario natural.
b. Aritmética en signo-magnitud.
c. Aritmética en complemento (a 2, a 1).
d. Cambio de signo.
e. Extensión de signo.
6. Bibliografía.

Conceptos básicos: operaciones lógicas bit a bit (not, and, or), operaciones
aritméticas básicas en binario (+, -, *, /), desbordamiento, desplazamiento
(lógico, aritmético, circulares), cambio de signo, extensión de signo.

1
Tema 4. Aritmética binaria en los computadores

1. Introducción
Los computadores operan con los datos de forma diferente dependiendo del
sistema de representación utilizado.
• Coma fija: binario puro, signo-magnitud, complemento a 2, complemento a 1,
exceso a M, BCD.
• Coma flotante.
En los computadores el tamaño 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 aritmética binaria básica.
• Los distintos tipos de operaciones lógicas y desplazamientos.
• La suma, la resta, la extensión de signo y el cambio de signo en algunos
sistemas de coma fija.
• La aritmética en coma flotante la veremos en un tema posterior.

Tema 4. Aritmética binaria en los computadores

2. Operaciones lógicas
De acuerdo con los axiomas del álgebra de Boole, las operaciones lógicas
toman bits individuales como operandos.
Sin embargo, los computadores realizan operaciones lógicas tomando datos
completos de n bits.
Operación lógica NOT (monaria): se invierten todos los bits del operando.
• Ejemplo: n=4 bits, A=0110.
A=0 1 1 0
NOT A = 1 0 0 1
Operaciones binarias: se realizan bit a bit con dos operandos.
• Ejemplo: n=4 bits, A=0110, B=1100.
A=0 1 1 0 A=0 1 1 0 A=0 1 1 0
B=1 1 0 0 B=1 1 0 0 B=1 1 0 0
A OR B = 1 1 1 0 A AND B = 0 1 0 0 A XOR B = 1 0 1 0
4

2
Tema 4. Aritmética binaria en los computadores

3. Bases de la aritmética binaria en coma fija


Las operaciones aritméticas en binario se realizan según tablas más sencillas
que las equivalentes en el sistema decimal. Para octal y hexadecimal se haría
de manera análoga.

Suma binaria A Resta binaria


SUMA RESTA A
BINARIA
(+)
0 1 BINARIA
(-)
0 1

0 0 1 0 0 1
B B
1 1 10 1 11 0
acarreo

1 acarreos 1 1 1 83 1 0 1 0 0 1 1 minuendo
sustraendo
9 1 0 0 1 - 21 - 1 0 1 0 1
+ 15 + 1 1 1 1 acarreos 1 1 1 1
24 1 1 0 0 0 62 0 1 1 1 1 1 0 diferencia

Tema 4. Aritmética binaria en los computadores

Producto binario

PRODUCTO A 12 1 1 0 0 multiplicando
BINARIO
×)

0 1 × 6 × 1 1 0 multiplicador

0 0 0 72 0 0 0 0
B 1 1 0 0 Productos
1 0 1 parciales
1 1 0 0
1 0 0 1 0 0 0 resultado

64 + 8 = 72

3
Tema 4. Aritmética binaria en los computadores

División binaria
La división binaria se puede realizar igual que la decimal.
En el caso de la binaria es más sencillo porque se simplifica la elección de
cada dígito del cociente, ya que sólo pueden ser 0 ó 1.
Si el dividendo parcial es mayor o igual que el divisor, el siguiente dígito del
cociente es 1, si no es 0.

112 8 dividendo 1 1 1 0 0 0 0 1 0 0 0 divisor

0 14 - 1 0 0 0 1 1 1 0 cociente

0 1 1 0 0
-100 0
0 1 0 0 0
- 10 0 0
0 0 0 0 0
- 0 0 0 0
0 0 0 0 resto
7

Tema 4. Aritmética binaria en los computadores

Multiplicación y división de un número N por una potencia de la base r (rm):


N = a p-1 ⋅ r p -1 + + a 0 ⋅ r 0 + a -1 ⋅ r -1 + + a -q ⋅ r -q

N ⋅ r m = a n-1 ⋅ r n-1+m + + a 0 ⋅ r 0 +m + a -1 ⋅ r -1+ m + + a -p ⋅ r -p + m

La coma aparece a la derecha del dígito ai que cumple i+m = 0 i = -m, es decir
detrás del dígito que originalmente era a-m.
si m > 0 (producto) se mueve (desplaza) la coma p lugares a la derecha.
si m < 0 (división) se mueve (desplaza) la coma p lugares a
la izquierda.
Ejemplo: (1101001,111)2 × 23 = (1101001111,0)2
(1101001,111)2 × 2-4 = (110,1001111)2
(10,53)10 × 104 = (105300,0)10

4
Tema 4. Aritmética binaria en los computadores

Situaciones especiales
El desbordamiento (overflow) es la circunstancia que sucede cuando el
resultado de una operación aritmética está fuera del rango de representación.
Desbordamiento positivo: el número es positivo y mayor que el más grande
representable.
Desbordamiento negativo: el número es más negativo (menor) que el
extremo inferior del rango de los negativos.

Es necesario detectar la condición de desbordamiento (¡el resultado


obtenido es erróneo!).

Subdesbordamiento (underflow): sucede cuando el número que queremos


representar está demasiado cercano a 0 y se confunde con él.
Subdesbordamiento positivo: el número es positivo.
Subdesbordamiento negativo: el número es negativo.

Tema 4. Aritmética binaria en los computadores

4. Operaciones de desplazamiento
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, generándose un “hueco” de s bits.

Según el criterio utilizado para dar valores a los s bits del hueco hay varios
tipos de desplazamientos:
Lógicos.
Aritméticos.
Circulares (rotaciones).

Los desplazamientos y rotaciones suelen involucrar a algún indicador de


resultado.

10

5
Tema 4. Aritmética binaria en los computadores

Desplazamiento lógico
En este caso los bits del hueco se rellenan con ceros.
• El último bit que sale se almacena en un indicador llamado C.

Ejemplos: n = 6 bits, A = 001011


Desplazamientos lógicos a la derecha:
Longitud s = 1 Longitud s = 2 Longitud s = 3
A’ = 000101 A’ = 000010 A’ = 000001
C=1 C=1 C=0

Desplazamientos lógicos a la izquierda:


Longitud s = 1 Longitud s = 2 Longitud s = 3
A’ = 010110 A’ = 101100 A’ = 011000
C=0 C=0 C=1

11

Tema 4. Aritmética binaria en los computadores

Desplazamiento aritmético
Se usa cuando se considera que el dato es un número 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.

Ejemplos de desplazamientos aritméticos a la derecha:


n = 6 bits, A = 001011:
Longitud s = 1 Longitud s = 2 Longitud s = 3
A’ = 000101 A’ = 000010 A’ = 000001
C=1 C=1 C=0
n = 6 bits, B = 100101:
Longitud s = 1 Longitud s = 2 Longitud s = 3
B’ = 110010 B’ = 111001 B’ = 111100
C=1 C=0 C=1 12

6
Tema 4. Aritmética binaria en los computadores

Ejemplos de desplazamientos aritméticos a la izquierda:


n = 6 bits, A = 001011:
Longitud s = 1 Longitud s = 2 Longitud s = 3
A’ = 010110 A’ = 101100 A’ = 011000
C = 0, V = 0 C = 0, V = 1 C = 1, V = 0

n = 6 bits, B = 100101:
Longitud s = 1 Longitud s = 2 Longitud s = 3
B’ = 001010 B’ = 010100 B’ = 101000
C = 1, V = 1 C = 0, V = 1 C = 0, V = 0

13

Tema 4. Aritmética binaria en los computadores

Rotación
Los bits que salen por un extremo entran por el otro.
• El último bit que sale va al indicador C.

Ejemplos: n = 6 bits, A = 001011


Rotación a la derecha:
Longitud s = 1 Longitud s = 2 Longitud s = 3
A = 001011 A = 001011 A = 001011
A’ = 100101 A’ = 110010 A’ = 011001
C=1 C=1 C=0
Rotación a la izquierda:

Longitud s = 1 Longitud s = 2 Longitud s = 3


A = 001011 A = 001011 A = 001011
A’ = 010110 A’ = 101100 A’ = 011001
C=0 C=0 C=1 14

7
Tema 4. Aritmética binaria en los computadores

Rotación con extensión


Los bits que salen por un extremo entran por el otro, interponiéndose un indicador
en el proceso que actúa de almacén.
• El último bit que sale va al indicador C.

Ejemplos: n = 6 bits, A = 001011, inicialmente C=1

Rotación a la derecha con extensión:


Longitud s = 1 Longitud s = 2 Longitud s = 3
C = 1, A = 001011 C = 1, A = 001011 C = 1, A = 001011
C’ = 1, A’ = 100101 C’ = 1, A’ = 110010 C’ = 0, A’ = 111001

Rotación a la izquierda con extensión:

Longitud s = 1 Longitud s = 2 Longitud s = 3


C = 1, A = 001011 C = 1, A = 001011 C = 1, A = 001011
C’ = 0, A’ = 010111 C’ = 0, A’ = 101110 C’ = 1, A’ = 011100
15

Tema 4. Aritmética binaria en los computadores

Despl. a la Izquierda Despl. a la Derecha

Lógico

Aritmético

Circular

Circular con
extensión
16

8
Tema 4. Aritmética binaria en los computadores

5. Aritmética binaria en coma fija


Estudiaremos las reglas básicas de la aritmética de algunos sistemas de
representación numérica en coma fija estudiados:
Binario puro.

Magnitud y signo.

Complemento a 2.

Complemento a 1.

17

Tema 4. Aritmética binaria en los computadores

5.a. Aritmética de binario puro


Sus reglas son las de la aritmética binaria ya estudiada, con la limitación del
tamaño 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
acarreo
+ 1111 +15 DESBORDAMIENTO POSITIVO
1 1100 28
Resta: el resultado puede ser negativo (acarreo superior C = 1)
1101 13
DESBORDAMIENTO NEGATIVO:
- 1111 - 15
sustraendo mayor que minuendo
acarreo 1 1110 -2
Producto: al multiplicar números de n bits el resultado puede necesitar hasta
2n bits (¡puede salirse de rango!).

División: hay desbordamiento si el divisor es 0.


18

9
Tema 4. Aritmética binaria en los computadores

5.b. Aritmética en magnitud y signo


Este sistema equivale al que los humanos usamos para operar.
Diferencia: opera en binario y no en base 10.
Las reglas básicas 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.


19

Tema 4. Aritmética binaria en los computadores

Por tanto, al sumar o restar con módulo y signo se debe hacer lo siguiente:
1. Observar los signos y decidir qué operación se va a realizar.
2. Ordenar los módulos si hay que restar.
3. Operar con los módulos y detectar el posible desbordamiento.
4. Colocar el signo al resultado.

Producto:
1. Se separan el signo y el módulo del multiplicando y del multiplicador.
2. Se multiplican los módulos (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!).

20

10
Tema 4. Aritmética binaria en los computadores

División:
1. Se separan el signo y el módulo del dividendo y del divisor.
2. Se dividen los módulos.
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 módulos.


Puede producirse al sumar dos números de igual signo o al restar dos números de
distinto signo.
También puede producirse desbordamiento en productos y divisiones.

21

Tema 4. Aritmética binaria en los computadores

5.c. Aritmética en complemento


Para simplificar el diseño de los circuitos aritméticos del computador sería 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 matemáticas se suele tratar a la resta como la suma de un opuesto, es
decir, A-B = A+(-B), pero aún así hay que utilizar la tabla de la resta.
Ejemplo: base r=10, n=2 dígitos.
23 La suma no sirve para hacer la resta.
– 02
21
Complementando
el sustraendo y 23 La suma casi sirve para hacer la resta
sumando: + 98 a excepción de un 1 como bit más
1 21 significativo.

22

11
Tema 4. Aritmética binaria en los computadores

La importancia del Cr de N reside en que permite restar aplicando la suma.


Ejemplo: Sistema decimal (base 10): C10N = 10n - N
Si n = 2, C10(2) = 102 - 2 = 100 - 2 = 98
100000
Sistema binario (base 2): C2N = 2n - N
Si n = 4, C2(1010) = 10000 - 1010 = 0110 – 10100
Si n = 5, C2(10100) = 25 - 10100 = 01100 01100

Inconveniente: hay que complementar el sustraendo.


Sin embargo, ya sabemos que en base 2 el C2N se puede calcular sin restar.
Debido a que en la complementación el minuendo siempre es de la forma
10...00, para el cálculo del C2 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.

23

Tema 4. Aritmética binaria en los computadores

Suma en complemento a 2:
Además de permitir la resta mediante la operación de suma, los números
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 representación en complemento a 2 sea muy utilizada.
Si A >0 y B >0: aritmética 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|
A se representa normal Ejemplo: 6 + (-4) = 2
B se representa en C2
0110 6
R = A + B = |A| + rn - |B| = rn + |A| - |B| + 1100 - 4
es un número positivo normal, 1 0010 2
y se desprecia el bit de acarreo
24

12
Tema 4. Aritmética binaria en los computadores

Si A >0 y B <0:
Si |A| < |B| R negativo, signo(R) = 1, se calcula R = -(|B| – |A|)

A se representa normal Ejemplo: 4 + (-6) = -2


B se representa en C2
0100 4
R = A + B = |A| + rn - |B| = rn - (|B| - |A|), + 1010 - 6
es un número negativo en complemento 1110 - 2
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 C2
B se representa en C2 Ejemplo: -2 + (-3) = -5
R = A + B = rn - |A| + rn - |B| = rn+ (rn - (|A| + |B|)),
1110 -2
es un número negativo en complemento + 1101 -3
a la base, y se desprecia el bit de acarreo 1 1011 -5
25

Tema 4. Aritmética binaria en los computadores

Resta en complemento a 2:
Toda operación de resta en complemento a la base puede reducirse a un caso
de suma, sin más 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
El acarreo superior se desprecia, + 1100
y el resultado es positivo
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
26

13
Tema 4. Aritmética 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 erróneo.
Puede producirse desbordamiento al sumar dos números de igual signo o al restar
dos números de distinto signo.
Nunca puede haber desbordamiento al sumar números de distinto signo o al restar
números de igual signo.
El posible acarreo superior resultante en una suma o una resta no indica
desbordamiento.
También puede producirse desbordamiento en productos y divisiones.

27

Tema 4. Aritmética 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 La suma de dos números positivos


+ 0011 +3 no puede producir un número
1001 ¡¡-7!! 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 La suma de dos números negativos no


+ 1001 + -7 puede producir un número positivo: hay
10110 ¡¡6!! desbordamiento (y acarreo)

El acarreo superior se desprecia, y el


resultado es positivo
28

14
Tema 4. Aritmética binaria en los computadores

Aunque hay algoritmos para multiplicar y dividir directamente números en


complemento a 2, no los vamos a estudiar todavía (tema 14).
De momento, para multiplicar y para dividir haremos lo siguiente:
Pasamos los operandos a positivos.
Operamos en binario puro.
Si el análisis 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 análoga a la aritmética estudiada para la representación en


complemento a la base, se puede estudiar la aritmética para la representación 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.

29

Tema 4. Aritmética binaria en los computadores

5.d. Cambio de signo


Binario puro: no es posible.
Magnitud y signo: basta con invertir el bit de signo.
Complemento a 2: se lleva a cabo mediante la complementación.
Ejemplo 1: cambiar de signo el número A C2 = 00011101 C2, n = 8, q = 0
-A C2 = C2(A C2) = 11100011 C2
Valor de -A C2 = 11100011 C2 = 1x20 + 1x21 + 1x25 + 1x26 - 1x27 = -29
Ejemplo 2: cambiar de signo el número -A C2 = 11100011 C2, n = 8, q = 0
-(-A C2) = C2(-A C2) = 00011101 C2
Valor de -(-A C2) = 00011101 C2 = 1x20 + 1x22 + 1x23 + 1x24 = 29
Ejemplo 3: cambiar de signo el número B C2 = 11001011 C2 , n = 8, q = 0
-B C2 = C2(B C2) = 00110101 C2
Valor de -B C2 = 00110101 C2 = 1x20 + 1x22 + 1x24 + 1x25 = 53
Complemento a 1: igual que en complemento a 2.
30

15
Tema 4. Aritmética binaria en los computadores

5.e. Extensión de signo


Es una operación consistente en que, dado un número 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
31

Tema 4. Aritmética 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.

32

16
Tema 4. Aritmética binaria en los computadores

6. Bibliografía
C. CERRADA, V. FELIU. Estructura y Tecnología de Computadores I.
U.N.E.D., 1993.
J.M. ANGULO, J.GARCÍA. Sistemas Digitales y Tecnología de Computadores.
Paraninfo, 2002.
P. DE MIGUEL. Fundamentos de los Computadores. 7ª edición. Paraninfo,
1999.
W. STALLINGS. Organización y Arquitectura de Computadores. 5ªedición,
Prentice Hall, 2000.
D.A. PATTERSON, J.L. HENNESSY. Estructura y Diseño de Computadores.
Reverté, 2000.
A. PRIETO, A. LLORIS, J.C. TORRES. Introducción a la Informática. 3ª
edición, McGraw-Hill, 2002.
L. RINCÓN. Representación Digital de la Información en los Computadores.
Apuntes complementarios de la asignatura.

33

17

También podría gustarte