semana 02
DESCRIPTION
CCOMPUTACION2TRANSCRIPT
Semana 2:
Representación de valores enteros einstrucciones A/L
Juan Carlos Espejo Delzo
Ir al aula virtual
31 de Agosto de 2015
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 1 / 30
Índice
• Adición y sustracción en el sistema binario• Representación de valores enteros (notación
complemento a dos)• Instrucciones A/L (Aritméticas/Lógicas) sobre patrones de
bits
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 2 / 30
Adición y sustracción en el sistema binario
¿Cómo sumamos dos representaciones en el sistema binario?
0 1 1 1+ 0 0 1 0
1 0 0 1
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 3 / 30
Adición y sustracción en el sistema binario
¿Cómo 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: Representación de valores enteros e instrucciones A/L 4 / 30
Adición y sustracción 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 a10000.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 5 / 30
Representación de valores enterosPreliminar
Antes de hablar sobre la notación complemento a dos, veamosun método práctico de representar valores naturales en elsistema binario.
EjemploSi queremos representar 61 en binario, procedemos así:
1. Identi�camos la potencia de 2 más próxima: 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: Representación de valores enteros e instrucciones A/L 6 / 30
Representación de valores enterosPreliminar
EjemploSi queremos representar 73 en binario, procedemos así:
1. Identi�camos la potencia de 2 más próxima: 26.
2. Como necesitamos 9 (73 − 64 = 9,) representamos 9 en
binario: 1001.
3. Finalmente, sumamos 26 con 1001: 1001001.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 7 / 30
Representación de valores enterosPreliminar
EjemploSi queremos representar 113 en binario, procedemos así:
1. Identi�camos la potencia de 2 más próxima: 27.
2. Como nos sobra 15 (113 − 128 = −15,) representamos 15en binario: 1111.
3. Finalmente, tomamos el complemento de 1111 respecto a
27: 1110001.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 8 / 30
Representación de valores enterosNotación complemento a dos
El sistema más popular para representar valores enterosdentro de las computadoras hoy en día es la notacióncomplemento a dos.Este sistema se basa en el sistema binario y tiene propiedadesadicionales que lo hacen más compatible con el diseño de lacomputadora. No obstante, junto con estas ventajas vienentambién desventajas (desbordamiento aritmético.)
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 9 / 30
Representación de valores enterosNotación complemento a dos
Patrón de tres bits Valor representado011 3010 2001 1000 0111 −1110 −2101 −3100 −4
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 10 / 30
Representación de valores enterosNotación complemento a dos
Patrón de cuatro bits Valor representado0111 70110 6
......
0010 20001 10000 01111 −11110 −2
......
1010 −61001 −71000 −8
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 11 / 30
Representación de valores enterosNotación complemento a dos
Por un argumento inductivo, tenemos que con un patrón de nbits podemos representar desde −2n−1 hasta 2n−1 − 1.Vamos a continuación a desarrollar un método práctico deconversión entre un patrón de bits y el valor que esterepresenta para un patrón dado.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 12 / 30
Representación de valores enterosNotación complemento a dos
EjemploPara hallar el valor que representa el patrón de bits 0101 en la
notación complemento a dos, procedemos así:
1. Como el bit más signi�cativo 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: Representación de valores enteros e instrucciones A/L 13 / 30
Representación de valores enterosNotación complemento a dos
EjemploPara hallar el valor que representa el patrón de bits 1010 en la
notación complemento a dos, procedemos así:
1. Como el bit más signi�cativo 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 24−1.
Luego, dicho valor absoluto es 8 − 2 = 6.3. Finalmente, la respuesta es −6.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 14 / 30
Representación de valores enterosNotación complemento a dos
EjemploPara hallar el patrón de 8 bits (un byte) que representa al valor
de 115 en la notación complemento a dos, procedemos así:
1. Como se trata de un valor no negativo, el bit más
signi�cativo es 0.
2. Por tratarse de un valor no negativo, los bits restantes
serán la representación de 115 en el sistema binario; es
decir, el complemento de 13 respecto a 28−1: 1110011.
3. Finalmente, la respuesta es 01110011.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 15 / 30
Representación de valores enterosNotación complemento a dos
EjemploPara hallar el patrón de un byte que representa al valor de
−119 en la notación complemento a dos, procedemos así:
1. Como se trata de un valor negativo, el bit más signi�cativo
es 1.
2. Por tratarse de un valor negativo, los bits restantes serán la
representación de 28−1 − 119 = 9 en el sistema binario; es
decir, 0001001.
3. Finalmente, la respuesta es 10001001.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 16 / 30
Instrucciones A/L sobre patrones de bits
El grupo de instrucciones A/L (Aritméticas/Lógicas) consiste deinstrucciones requiriendo:
• operaciones lógicas,• operaciones de desplazamiento y• operaciones aritméticas.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 17 / 30
Instrucciones A/L sobre patrones de bitsOperaciones lógicas
Para entender cómo cada bit es individualmente almacenado ymanipulado dentro de una computadora, es convenienteimaginar que el bit 0 representa al valor falso y el bit 1representa al valor verdadero, ya que, eso nos permite pensaren la manipulación de los bits como la manipulación de losvalores de verdadero/falso.Las operaciones que manipulan valores de verdadero/falso sonllamadas operaciones booleanas o lógicas.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 18 / 30
Instrucciones A/L sobre patrones de bitsOperaciones lógicas
El operador booleano AND (conjunción):
0 0 1 1AND 0 AND 1 AND 0 AND 1
0 0 0 1
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 19 / 30
Instrucciones A/L sobre patrones de bitsOperaciones lógicas
El operador booleano OR (disyunción inclusiva):
0 0 1 1OR 0 OR 1 OR 0 OR 1
0 1 1 1
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 20 / 30
Instrucciones A/L sobre patrones de bitsOperaciones lógicas
El operador booleano XOR (disyunción exclusiva):
0 0 1 1XOR 0 XOR 1 XOR 0 XOR 1
0 1 1 0
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 21 / 30
Instrucciones A/L sobre patrones de bitsOperaciones lógicas
Las operaciones lógicas vistas arriba pueden extenderse aoperaciones que combinan dos cadenas de bits y producenuna sola cadena de bits aplicando las operaciones básicas acada columna:
10110011 10011000 10010101AND 11101101 OR 01000101 XOR 01111001
10100001 11011101 11101100
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 22 / 30
Instrucciones A/L sobre patrones de bitsOperaciones lógicas
Una máscara de bits es una cadena de bits que extrae ciertosbits particulares de una cade de bits.
00001111 11110000 11111111AND 11101101 OR 01000101 XOR 01111001
00001101 11110101 10000110
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 23 / 30
Instrucciones A/L sobre patrones de bitsOperaciones lógicas
EjemploSi queremos complementar los 4 bits del medio de un byte
mientras los otros 4 no modi�carlos, 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 máscara de bits y el operador a
emplear serán 00111100 y XOR, respectivamente.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 24 / 30
Instrucciones A/L sobre patrones de bitsOperaciones de desplazamiento
Estas operaciones proporcionan un medio para eldesplazamiento de los bits y se emplean a menudo en lasolución de problemas de alineación.Estas operaciones se clasifican por la dirección del movimiento(derecha o izquierda) y si el proceso es circular (rotación.)
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 25 / 30
Instrucciones A/L sobre patrones de bitsOperaciones de desplazamiento
EjemploEl resultado de llevar a cabo una rotación a la derecha en la
cadena de bits 00100111 es 11100100.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 26 / 30
Instrucciones A/L sobre patrones de bitsOperaciones aritméticas
Primera veamos como sumar dos valores representados ennotación complemento a dos:
Problema en base diez Problema en complemento a dos3 0011
+ 2 + 00100101
−3 1101+ (−2) + 1110
10117 0111
+ (−5) + 10110010
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 27 / 30
Instrucciones A/L sobre patrones de bitsOperaciones aritméticas
Ahora veamos como restar dos valores representados ennotación complemento a dos:
Problema en base diez Problema en complemento a dos7 0111
− 5 + 10110010
−3 1101− (−2) + 0010
1111
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 28 / 30
Instrucciones A/L sobre patrones de bitsOperaciones aritméticas
Un problema que han evitado en los ejemplos anteriores esque en cualquier sistema de complemento a dos hay un límitepara el tamaño de los valores que se puede representar.Por ejemplo, el valor 9 no puede ser representado con unpatrón de 4 bits, con lo que no podemos esperar obtener larespuesta correcta al problema 5 + 4. De hecho, el resultadoaparecería como −7. Este fenómeno se llamadesbordamiento artimético (overflow.)
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 29 / 30
Instrucciones A/L sobre patrones de bitsOperaciones aritméticas
Cuando se emplea la notación complemento a dos, estedesbordamiento aritmético puede ocurrir cuando:
• se suman dos valores positivos o• se suman dos valores negativos.
CC-101 Semana 2: Representación de valores enteros e instrucciones A/L 30 / 30