You are on page 1of 30

Semana 2:

Representacin de valores enteros e


instrucciones A/L
Juan Carlos Espejo Delzo
Ir al aula virtual

31 de Agosto de 2015

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

1 / 30

ndice

Adicin y sustraccin en el sistema binario


Representacin de valores enteros (notacin

complemento a dos)
Instrucciones A/L (Aritmticas/Lgicas) sobre patrones de

bits

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

2 / 30

Adicin y sustraccin en el sistema binario

Cmo sumamos dos representaciones en el sistema binario?


0 1 1 1
+ 0 0 1 0
1 0 0 1

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

3 / 30

Adicin y sustraccin en el sistema binario

Cmo restamos dos representaciones en el sistema binario?


1 0 1 1 1
0 1 0 1 0
0 1 1 0 1

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

4 / 30

Adicin y sustraccin en el sistema binario

Nos enfocaremos en el siguiente tipo de resta:


1 0 0 0 0
0 1 0 1 0
0 0 1 1 0
Y diremos que 110 es el complemento de 1010 respecto a
10000.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

5 / 30

Representacin de valores enteros


Preliminar

Antes de hablar sobre la notacin complemento a dos, veamos


un mtodo prctico de representar valores naturales en el
sistema binario.

Ejemplo
Si queremos representar 61 en binario, procedemos as:
1. Identicamos la potencia de 2 ms prxima: 26 .
2. Como nos sobra 3 (61 64 = 3,) representamos 3 en
binario: 11.
3. Finalmente, tomamos el complemento de 11 respecto a 26 :
111101.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

6 / 30

Representacin de valores enteros


Preliminar

Ejemplo
Si queremos representar 73 en binario, procedemos as:
1. Identicamos la potencia de 2 ms prxima: 26 .
2. Como necesitamos 9 (73 64 = 9,) representamos 9 en
binario: 1001.
3. Finalmente, sumamos 26 con 1001: 1001001.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

7 / 30

Representacin de valores enteros


Preliminar

Ejemplo
Si queremos representar 113 en binario, procedemos as:
1. Identicamos la potencia de 2 ms prxima: 27 .
2. Como nos sobra 15 (113 128 = 15,) representamos 15
en binario: 1111.
3. Finalmente, tomamos el complemento de 1111 respecto a
27 : 1110001.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

8 / 30

Representacin de valores enteros


Notacin complemento a dos

El sistema ms popular para representar valores enteros


dentro de las computadoras hoy en da es la notacin
complemento a dos.
Este sistema se basa en el sistema binario y tiene propiedades
adicionales que lo hacen ms compatible con el diseo de la
computadora. No obstante, junto con estas ventajas vienen
tambin desventajas (desbordamiento aritmtico.)

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

9 / 30

Representacin de valores enteros


Notacin complemento a dos

Patrn de tres bits


011
010
001
000
111
110
101
100

CC-101

Valor representado
3
2
1
0
1
2
3
4

Semana 2: Representacin de valores enteros e instrucciones A/L

10 / 30

Representacin de valores enteros


Notacin complemento a dos

CC-101

Patrn de cuatro bits


0111
0110
..
.

Valor representado
7
6
..
.

0010
0001
0000
1111
1110
..
.

2
1
0
1
2
..
.

1010
1001
1000

6
7
8

Semana 2: Representacin de valores enteros e instrucciones A/L

11 / 30

Representacin de valores enteros


Notacin complemento a dos

Por un argumento inductivo, tenemos que con un patrn de n


bits podemos representar desde 2n1 hasta 2n1 1.
Vamos a continuacin a desarrollar un mtodo prctico de
conversin entre un patrn de bits y el valor que este
representa para un patrn dado.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

12 / 30

Representacin de valores enteros


Notacin complemento a dos

Ejemplo
Para hallar el valor que representa el patrn de bits 0101 en la
notacin complemento a dos, procedemos as:
1. Como el bit ms signicativo es 0, se trata de un valor no
negativo.
2. Por tratarse de un valor no negativo, dicho valor es igual al
valor que representa 101 en el sistema binario.
3. Finalmente, la respuesta es 5.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

13 / 30

Representacin de valores enteros


Notacin complemento a dos

Ejemplo
Para hallar el valor que representa el patrn de bits 1010 en la
notacin complemento a dos, procedemos as:
1. Como el bit ms signicativo es 1, se trata de un valor
negativo.
2. Por tratarse de un valor negativo, el valor absoluto de dicho
valor es igual al complemento de 010 respecto a 241 .
Luego, dicho valor absoluto es 8 2 = 6.
3. Finalmente, la respuesta es 6.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

14 / 30

Representacin de valores enteros


Notacin complemento a dos

Ejemplo
Para hallar el patrn de 8 bits (un byte) que representa al valor
de 115 en la notacin complemento a dos, procedemos as:
1. Como se trata de un valor no negativo, el bit ms
signicativo es 0.
2. Por tratarse de un valor no negativo, los bits restantes
sern la representacin de 115 en el sistema binario; es
decir, el complemento de 13 respecto a 281 : 1110011.
3. Finalmente, la respuesta es 01110011.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

15 / 30

Representacin de valores enteros


Notacin complemento a dos

Ejemplo
Para hallar el patrn de un byte que representa al valor de
119 en la notacin complemento a dos, procedemos as:
1. Como se trata de un valor negativo, el bit ms signicativo
es 1.
2. Por tratarse de un valor negativo, los bits restantes sern la
representacin de 281 119 = 9 en el sistema binario; es
decir, 0001001.
3. Finalmente, la respuesta es 10001001.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

16 / 30

Instrucciones A/L sobre patrones de bits

El grupo de instrucciones A/L (Aritmticas/Lgicas) consiste de


instrucciones requiriendo:
operaciones lgicas,
operaciones de desplazamiento y
operaciones aritmticas.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

17 / 30

Instrucciones A/L sobre patrones de bits


Operaciones lgicas

Para entender cmo cada bit es individualmente almacenado y


manipulado dentro de una computadora, es conveniente
imaginar que el bit 0 representa al valor falso y el bit 1
representa al valor verdadero, ya que, eso nos permite pensar
en la manipulacin de los bits como la manipulacin de los
valores de verdadero/falso.
Las operaciones que manipulan valores de verdadero/falso son
llamadas operaciones booleanas o lgicas.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

18 / 30

Instrucciones A/L sobre patrones de bits


Operaciones lgicas

El operador booleano AND (conjuncin):

CC-101

0
AND 0

0
AND 1

1
AND 0

1
AND 1

Semana 2: Representacin de valores enteros e instrucciones A/L

19 / 30

Instrucciones A/L sobre patrones de bits


Operaciones lgicas

El operador booleano OR (disyuncin inclusiva):

CC-101

0
OR 0

0
OR 1

1
OR 0

1
OR 1

Semana 2: Representacin de valores enteros e instrucciones A/L

20 / 30

Instrucciones A/L sobre patrones de bits


Operaciones lgicas

El operador booleano XOR (disyuncin exclusiva):

CC-101

0
XOR 0

0
XOR 1

1
XOR 0

1
XOR 1

Semana 2: Representacin de valores enteros e instrucciones A/L

21 / 30

Instrucciones A/L sobre patrones de bits


Operaciones lgicas

Las operaciones lgicas vistas arriba pueden extenderse a


operaciones que combinan dos cadenas de bits y producen
una sola cadena de bits aplicando las operaciones bsicas a
cada columna:
10110011
AND 11101101

10011000
OR 01000101

10010101
XOR 01111001

10100001

11011101

11101100

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

22 / 30

Instrucciones A/L sobre patrones de bits


Operaciones lgicas

Una mscara de bits es una cadena de bits que extrae ciertos


bits particulares de una cade de bits.
00001111
AND 11101101

11110000
OR 01000101

11111111
XOR 01111001

00001101

11110101

10000110

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

23 / 30

Instrucciones A/L sobre patrones de bits


Operaciones lgicas

Ejemplo
Si queremos complementar los 4 bits del medio de un byte
mientras los otros 4 no modicarlos, primero debemos recordar
que solo el operador XOR complementa un bit. Segundo, al
operar 0 con cualquier bit empleando este operador obtenemos
el mismo bit. Entonces, la mscara de bits y el operador a
emplear sern 00111100 y XOR, respectivamente.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

24 / 30

Instrucciones A/L sobre patrones de bits


Operaciones de desplazamiento

Estas operaciones proporcionan un medio para el


desplazamiento de los bits y se emplean a menudo en la
solucin de problemas de alineacin.
Estas operaciones se clasifican por la direccin del movimiento
(derecha o izquierda) y si el proceso es circular (rotacin.)

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

25 / 30

Instrucciones A/L sobre patrones de bits


Operaciones de desplazamiento

Ejemplo
El resultado de llevar a cabo una rotacin a la derecha en la
cadena de bits 00100111 es 11100100.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

26 / 30

Instrucciones A/L sobre patrones de bits


Operaciones aritmticas

Primera veamos como sumar dos valores representados en


notacin complemento a dos:
Problema en base diez Problema en complemento a dos
3
0011
+
2
+ 0010
0101
3
1101
+ (2)
+ 1110
1011
7
0111
+ (5)
+ 1011
0010
CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

27 / 30

Instrucciones A/L sobre patrones de bits


Operaciones aritmticas

Ahora veamos como restar dos valores representados en


notacin complemento a dos:
Problema en base diez Problema en complemento a dos
7
0111

5
+ 1011
0010
3
1101
(2)
+ 0010
1111

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

28 / 30

Instrucciones A/L sobre patrones de bits


Operaciones aritmticas

Un problema que han evitado en los ejemplos anteriores es


que en cualquier sistema de complemento a dos hay un lmite
para el tamao de los valores que se puede representar.
Por ejemplo, el valor 9 no puede ser representado con un
patrn de 4 bits, con lo que no podemos esperar obtener la
respuesta correcta al problema 5 + 4. De hecho, el resultado
aparecera como 7. Este fenmeno se llama
desbordamiento artimtico (overflow.)

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

29 / 30

Instrucciones A/L sobre patrones de bits


Operaciones aritmticas

Cuando se emplea la notacin complemento a dos, este


desbordamiento aritmtico puede ocurrir cuando:
se suman dos valores positivos o
se suman dos valores negativos.

CC-101

Semana 2: Representacin de valores enteros e instrucciones A/L

30 / 30

You might also like