SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
OperacionesOperaciones
en Datosen Datos
Prof: J. Solano
2011-I
Universidad Nacional de Ingeniería
Facultad de Ciencias
Introducción a la Ciencia de la
Computación
Introduccion a la Ciencia de la Computacion - CC101
Objetivos
Despues de estudiar este cap. el estudiante sera capaz de:
2
 Listar las tres categorías de operaciones que se realizan en
los datos.
 Realizar operaciones lógicas binarias y unitarias en los
patrones de bits.
Distinguir entre las operaciones de cambio (shift) lógicas y
aritméticas.
Realizar sumas y restas de números enteros cuando están
almacenados en formato de complemento a dos.
Realizar sumas y restas de números enteros cuando se
guardan en formato signo y magnitud.
Realizar operaciones de suma y resta en reales almacenados
en formato de punto flotante.
Introduccion a la Ciencia de la Computacion - CC101
OPERACIONES LÓGICASOPERACIONES LÓGICAS
3
En el capítulo anterior vimos que los datos son almacenados enEn el capítulo anterior vimos que los datos son almacenados en
el computador como patrones de bits.el computador como patrones de bits. Operaciones logícasOperaciones logícas sese
refieren a las operaciones que aplican la misma operaciónrefieren a las operaciones que aplican la misma operación
básica sobre bits individuales de un patrón, o en dos bitsbásica sobre bits individuales de un patrón, o en dos bits
correspondientes en dos patrones. Esto significa que podemoscorrespondientes en dos patrones. Esto significa que podemos
definir las operaciones lógicas a nivel de bits (definir las operaciones lógicas a nivel de bits (bit levelbit level) y a) y a
nivel de patrones (nivel de patrones (pattern levelpattern level).).
Una operación lógica a nivel de patrones sonUna operación lógica a nivel de patrones son nn operacionesoperaciones
lógicas, del mismo tipo, a nivel de bits, dondelógicas, del mismo tipo, a nivel de bits, donde nn es el númeroes el número
de bits en el patrón.de bits en el patrón.
Introduccion a la Ciencia de la Computacion - CC101
Operaciones lógicas a nivel de bits
Un bit puede tomar dos valores: 0 ó 1. Solo interpretamos el 0
como el valor false (falso) y 1 como el valor true (verdadero),
y podemos aplicar las operaciones definidas en el algebra
booleana para manipular bits. Boolean algebra (algebra
boolena), llamada así en honor de George Boole, se convirtió
en un campo especial de la Matemática llamado Lógica. Una
gran aplicación del algebra booleana está en la construcción de
circuitos lógicos en computadores. En esta sección solo
discutiremos cuatro operaciones a nivel de bits, que son
usadas para manipular bits: NOT, AND, OR, y XOR.
4
Algebra Booleana es la base de los circuitos
lógicos de computadores y muchos dispositivos
electrónicos
Introduccion a la Ciencia de la Computacion - CC101
Operaciones lógicas a nivel de bits
5
Introduccion a la Ciencia de la Computacion - CC101
NOT
El operador NOT es un operador unitario: toma solo un
input. El bit ouput es el complemento del input.
6
Para x = 0 o 1 x AND 0 → 0 0 AND x → 0
AND
El operador AND es un operador binario: toma dos inputs. El
bit ouput es 1 si ambos inputs son 1s y 0 en los otros tres
casos.
Introduccion a la Ciencia de la Computacion - CC101
OR
El operador OR es un operador binario: toma dos inputs. El
bit ouput es 0 si ambos inputs son 0s y es 1 en los otros tres
casos.
7
XOR
El operador XOR es un operador binario como el operador
OR con solo una diferencia: el bit ouput es 0 si ambos inputs
son 1s.
For x = 0 or 1 x OR 1 → 1 1 OR x → 1
For x = 0 or 1
1 XOR x → NOT x x XOR 1 → NOT x
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 1
8
En inglés se usa la conjunción “or” a veces para referirse aEn inglés se usa la conjunción “or” a veces para referirse a
inclusive-or, y otras veces para exclusive-or.inclusive-or, y otras veces para exclusive-or.
a.a. The sentence “I would like to have a car or a house” uses “or” inThe sentence “I would like to have a car or a house” uses “or” in
the inclusive sense—I would like to have a car, a house or both.the inclusive sense—I would like to have a car, a house or both.
b.b. The sentence “Today is either Monday or Tuesday” uses “or” inThe sentence “Today is either Monday or Tuesday” uses “or” in
the exclusive sense—today is either Monday or Tuesday, but itthe exclusive sense—today is either Monday or Tuesday, but it
cannot be both.cannot be both.
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 2
9
El operador XOR no es un operador nuevo. Siempre podemosEl operador XOR no es un operador nuevo. Siempre podemos
simularlo usando los otros tres operadores. Las siguientes dossimularlo usando los otros tres operadores. Las siguientes dos
operaciones son equivalentesoperaciones son equivalentes
La equivalencia puede probarse si hacemos la tabla de verdad paraLa equivalencia puede probarse si hacemos la tabla de verdad para
ambosambos
x XOR y ↔ [x AND (NOT y)] OR [(NOT x) AND y]
Introduccion a la Ciencia de la Computacion - CC101
Operaciones lógicas a nivel de patrones
Los mismos cuatro operadores (NOT, AND, OR, y XOR)
pueden ser aplicados a un patrón de n-bits. El efecto es el
mismo de aplicar cada operador a cada bit individual para
NOT y para cada par de bits correspondientes para los otros
tres operadores. Aqui se muestra los cuatro operadores con
patrones de input y output.
10
Operadores lógicos aplicados a patrones de bits
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 3
11
Usar el operador NOT en el patrón de bits 10011000Usar el operador NOT en el patrón de bits 10011000
SoluciónSolución
La solución es mostrada abajo. Notar que el operador NOT cambiaLa solución es mostrada abajo. Notar que el operador NOT cambia
cada 0 a 1 y cada 1 a 0.cada 0 a 1 y cada 1 a 0.
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 4
12
Usar el operador AND en los patrones de bits 10011000 yUsar el operador AND en los patrones de bits 10011000 y
0010101000101010
SoluciónSolución
La solución es mostrada abajo. Notar que solo un bit en el output esLa solución es mostrada abajo. Notar que solo un bit en el output es
1, cuando los dos bits correspondientes son 1s1, cuando los dos bits correspondientes son 1s
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 5
13
Usar el operador OR en los patrones de bits 10011001 yUsar el operador OR en los patrones de bits 10011001 y
0010111000101110
SoluciónSolución
La solución es mostrada abajo. Notar que solo un bit en el output esLa solución es mostrada abajo. Notar que solo un bit en el output es
0, cuando los dos bits correspondientes son 0s0, cuando los dos bits correspondientes son 0s
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 6
14
Usar el operador XOR en los patrones de bits 10011001 yUsar el operador XOR en los patrones de bits 10011001 y
0010111000101110
SoluciónSolución
La solución es mostrada abajo. Comparar el output con el delLa solución es mostrada abajo. Comparar el output con el del
ejemplo anterior. La única diferencia es que cuando los dos bitsejemplo anterior. La única diferencia es que cuando los dos bits
inputs son 1s, el resultado es 0 (el efecto de exclusión).inputs son 1s, el resultado es 0 (el efecto de exclusión).
Introduccion a la Ciencia de la Computacion - CC101
15
 Complementing (NOT)
 Unsetting (desajuste) (AND)
 Setting (ajuste) (OR)
 Flipping (voltear) (XOR)
Aplicaciones
Las cuatro operaciones lógicas pueden ser usadas paraLas cuatro operaciones lógicas pueden ser usadas para
modificar un patrón de bits.modificar un patrón de bits.
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 7
16
Usar una máscara (mask) para desajustar (clear) los cinco bits mas aUsar una máscara (mask) para desajustar (clear) los cinco bits mas a
la izquierda de un patrón de bits. Probar la máscara con un patrónla izquierda de un patrón de bits. Probar la máscara con un patrón
10100110.10100110.
SoluciónSolución
La máscara es 00000111. El resultado de aplicar la máscara es:La máscara es 00000111. El resultado de aplicar la máscara es:
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 8
17
Usar una máscara para ajustar los cinco bits mas a la izquierda de unUsar una máscara para ajustar los cinco bits mas a la izquierda de un
patrón de bits. Probar la máscara con un patrón 10100110.patrón de bits. Probar la máscara con un patrón 10100110.
SoluciónSolución
La máscara es 11111000. El resultado de aplicar la máscara es:La máscara es 11111000. El resultado de aplicar la máscara es:
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 9
18
Usar una máscara para voltear (flip) los cinco bits mas a la izquierdaUsar una máscara para voltear (flip) los cinco bits mas a la izquierda
de un patrón de bits. Probar la máscara con un patrón 10100110.de un patrón de bits. Probar la máscara con un patrón 10100110.
SoluciónSolución
La máscara es 11111000. El resultado de aplicar la máscara es:La máscara es 11111000. El resultado de aplicar la máscara es:
Introduccion a la Ciencia de la Computacion - CC101
OPERACIONES SHIFT (DESPLAZAMIENTO)OPERACIONES SHIFT (DESPLAZAMIENTO)
Operaciones ShiftOperaciones Shift mueve los bits en un patrón, cambiando lamueve los bits en un patrón, cambiando la
posición de los bits. Ellos pueden mover bits a la izquierda o aposición de los bits. Ellos pueden mover bits a la izquierda o a
la derecha. Podemos dividir operaciones shift en dosla derecha. Podemos dividir operaciones shift en dos
categorías:categorías: operaciones shift lógicasoperaciones shift lógicas yy operaciones shiftoperaciones shift
aritméticasaritméticas..
19
Introduccion a la Ciencia de la Computacion - CC101
Operaciones shift lógicas
Una operación shift lógica se aplica a un patrón que no
representa un número con signo. La razón es que estas
operaciones shift pueden cambiar el signo del número que se
define por el bit más a la izquierda en el patrón. Se distinguen
dos tipos de operaciones shift lógicas, como se describe a
continuación:
20
 Shift lógico
 Shift circular lógico (Rotar)
Introduccion a la Ciencia de la Computacion - CC101
21
Operaciones shift lógicas
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 10
22
Usar una operación shift lógica izquierda en el patrón de bitsUsar una operación shift lógica izquierda en el patrón de bits
10011000.10011000.
SoluciónSolución
La solución es mostrada abajo. El bit mas a la izquierda se pierde yLa solución es mostrada abajo. El bit mas a la izquierda se pierde y
un 0 es insertado en el bit mas a la derechaun 0 es insertado en el bit mas a la derecha
Descartado
Añadido
Introduccion a la Ciencia de la Computacion - CC101
23
Operaciones shift circulares
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 11
24
Usar una operación shift circular izquierda en el patrón de bitsUsar una operación shift circular izquierda en el patrón de bits
10011000.10011000.
SoluciónSolución
La solución es mostrada abajo. El bit mas a la izquierda esLa solución es mostrada abajo. El bit mas a la izquierda es
circulado y se convierte en el bit mas a la derecha.circulado y se convierte en el bit mas a la derecha.
Introduccion a la Ciencia de la Computacion - CC101
25
Operaciones shift aritméticas
Operaciones shift aritméticas
Las operaciones shift aritméticas asumen que el patrón de bits
es un entero con signo en formato complemento a dos. Shift
aritmético derecho se utiliza para dividir un entero en dos,
mientras que el shift aritmético izquierdo se usa para multiplicar
un número entero por dos.
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 12
26
Usar una operacion shift aritmética derecha en el patrón de bitsUsar una operacion shift aritmética derecha en el patrón de bits
10011001. El patrón es un entero en formato complemento dos10011001. El patrón es un entero en formato complemento dos
SoluciónSolución
La solución es mostrada abajo. El bit mas a la izquierda es retenidoLa solución es mostrada abajo. El bit mas a la izquierda es retenido
y también copiado a su bit vecino a su derechay también copiado a su bit vecino a su derecha
El número original era -103 y el nuevo número es -52, que es elEl número original era -103 y el nuevo número es -52, que es el
resultado de dividir -103 por 2 truncado al menor entero.resultado de dividir -103 por 2 truncado al menor entero.
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 13
27
Usar una operacion shift aritmética izquierda en el patrón de bitsUsar una operacion shift aritmética izquierda en el patrón de bits
11011001. El patrón es un entero en formato complemento dos11011001. El patrón es un entero en formato complemento dos
SoluciónSolución
La solución es mostrada abajo. El bit mas a la izquierda es perdidoLa solución es mostrada abajo. El bit mas a la izquierda es perdido
y un 0 es insertado en el bit mas a la derechay un 0 es insertado en el bit mas a la derecha
El número original era -39 y el nuevo número es -78. El númeroEl número original era -39 y el nuevo número es -78. El número
original es multiplicado por dos. La operación es valida porque nooriginal es multiplicado por dos. La operación es valida porque no
ocurrió underflow.ocurrió underflow.
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 14
28
Usar una operación shift aritmética izquierda en el patrón de bitsUsar una operación shift aritmética izquierda en el patrón de bits
01111111. El patrón es un entero en formato complemento a dos.01111111. El patrón es un entero en formato complemento a dos.
SoluciónSolución
La solución es mostrada abajo. El bit mas a la izquierda es perdidoLa solución es mostrada abajo. El bit mas a la izquierda es perdido
y un 0 es insertado en el bit mas a la derechay un 0 es insertado en el bit mas a la derecha
El número original era 127 y el nuevo número es -2. Aquí elEl número original era 127 y el nuevo número es -2. Aquí el
resultado no es válido porque ocurrió un overflow. La respuestaresultado no es válido porque ocurrió un overflow. La respuesta
esperada 127 x 2 = 254 no puede ser representada por un patrón de 8esperada 127 x 2 = 254 no puede ser representada por un patrón de 8
bits, en formato complemento a dos.bits, en formato complemento a dos.
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 15
29
Combinando operaciones lógicas y operaciones shift lógicas nos daCombinando operaciones lógicas y operaciones shift lógicas nos da
algunas herramientas para manipular patrones de bits. Supongamos quealgunas herramientas para manipular patrones de bits. Supongamos que
tenemos un patrón y necesitamos utilizar el tercer bit (de la derecha) detenemos un patrón y necesitamos utilizar el tercer bit (de la derecha) de
este patrón en un proceso de toma de decisiones. Queremos saber sieste patrón en un proceso de toma de decisiones. Queremos saber si
este bit particular es 0 o 1. A continuación se muestra cómo podemoseste bit particular es 0 o 1. A continuación se muestra cómo podemos
hallarlo.hallarlo.
Podemos probar el resultado: si es un entero sin signo 1, el bit blancoPodemos probar el resultado: si es un entero sin signo 1, el bit blanco
era 1, mientras que si el resultado es un entero sin signo 0, el bitera 1, mientras que si el resultado es un entero sin signo 0, el bit
blanco era 0.blanco era 0.
Introduccion a la Ciencia de la Computacion - CC101
OPERACIONES ARITMÉTICASOPERACIONES ARITMÉTICAS
Operaciones aritméticas implican sumar, restar, multiplicar yOperaciones aritméticas implican sumar, restar, multiplicar y
dividir. Podemos aplicar estas operaciones a los númerosdividir. Podemos aplicar estas operaciones a los números
enteros y a los números de punto flotante.enteros y a los números de punto flotante.
30
Introduccion a la Ciencia de la Computacion - CC101
31
Todas las operaciones aritméticas como suma, resta,Todas las operaciones aritméticas como suma, resta,
multiplicación y división se puede aplicar a enteros. A pesar quemultiplicación y división se puede aplicar a enteros. A pesar que
la multiplicación (división) de enteros puede ser implementadala multiplicación (división) de enteros puede ser implementada
usándose suma (resta) repetida, el procedimiento no es eficiente.usándose suma (resta) repetida, el procedimiento no es eficiente.
Hay procedimientos más eficientes para la multiplicación yHay procedimientos más eficientes para la multiplicación y
división, como procedimientos de cabina (división, como procedimientos de cabina (BoothBooth proceduresprocedures),),
pero estos están fuera del alcance de este curso. Por esta razón,pero estos están fuera del alcance de este curso. Por esta razón,
sólo discutimos aquí sumas y restas de números enteros.sólo discutimos aquí sumas y restas de números enteros.
Operaciones aritméticas en enteros
Introduccion a la Ciencia de la Computacion - CC101
Enteros en formato complemento a dos
32
Cuando se encuentra la operación resta, el computadorCuando se encuentra la operación resta, el computador
simplemente cambia a una operación de suma, pero cambia asimplemente cambia a una operación de suma, pero cambia a
formato complemento a dos el segundo número. En otrasformato complemento a dos el segundo número. En otras
palabras:palabras:
A − B ↔ A + (B + 1)
Donde B es el complemento a uno de B y
(B + 1) es el complemento a dos de B
Introduccion a la Ciencia de la Computacion - CC101
33
Debemos recordar que sumamos enteros columna por columna.Debemos recordar que sumamos enteros columna por columna.
La siguiente tabla muestra la suma y lo que se lleva (carry) (C).La siguiente tabla muestra la suma y lo que se lleva (carry) (C).
Introduccion a la Ciencia de la Computacion - CC101
34
Suma y resta de enteros en formato complemento a dos
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 16
35
Dos enteros A y B son almacenados en formato complemento a dos.Dos enteros A y B son almacenados en formato complemento a dos.
Mostrar como B es sumado a AMostrar como B es sumado a A
SoluciónSolución
La operación es suma. A es sumado a B y el resultado es almacenadoLa operación es suma. A es sumado a B y el resultado es almacenado
en R. (+17) + (+22) = (+39).en R. (+17) + (+22) = (+39).
A = (00010001)A = (00010001)22 B = (00010110)B = (00010110)22
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 17
36
Dos enteros A y B son almacenados en formato complemento a dos.Dos enteros A y B son almacenados en formato complemento a dos.
Mostrar como B es sumado a AMostrar como B es sumado a A
SoluciónSolución
La operación es suma. A es sumado a B y el resultado es almacenadoLa operación es suma. A es sumado a B y el resultado es almacenado
en R. (+24) + (-17) = (+7).en R. (+24) + (-17) = (+7).
A = (00011000)A = (00011000)22 B = (11101111)B = (11101111)22
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 18
37
Dos enteros A y B son almacenados en formato complemento a dos.Dos enteros A y B son almacenados en formato complemento a dos.
Mostrar como B es restado de AMostrar como B es restado de A
SoluciónSolución
La operación es resta. A es sumado a (B + 1) y el resultado esLa operación es resta. A es sumado a (B + 1) y el resultado es
almacenado en R. (+24) - (-17) = (+41).almacenado en R. (+24) - (-17) = (+41).
A = (00011000)A = (00011000)22 B = (11101111)B = (11101111)22
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 19
38
Dos enteros A y B son almacenados en formato complemento a dos.Dos enteros A y B son almacenados en formato complemento a dos.
Mostrar como B es restado de AMostrar como B es restado de A
SoluciónSolución
La operación es resta. A es sumado a (B + 1) y el resultado esLa operación es resta. A es sumado a (B + 1) y el resultado es
almacenado en R. (-35) - (+20) = (-55).almacenado en R. (-35) - (+20) = (-55).
A = (11011101)A = (11011101)22 B = (00010100)B = (00010100)22
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 20
39
Dos enteros A y B son almacenados en formato complemento a dos.Dos enteros A y B son almacenados en formato complemento a dos.
Mostrar como B es sumado a AMostrar como B es sumado a A
SoluciónSolución
La operación es suma. A es sumado a B y el resultado es almacenadoLa operación es suma. A es sumado a B y el resultado es almacenado
en R.en R.
A = (01111111)A = (01111111)22 B = (00000011)B = (00000011)22
Esperabamos el resultado 127 + 3 = 130, pero la respuesta es -126. ElEsperabamos el resultado 127 + 3 = 130, pero la respuesta es -126. El
error es debido al overflow, porque el valor esperado (+130) no está enerror es debido al overflow, porque el valor esperado (+130) no está en
el rango -128 a +127.el rango -128 a +127.
Introduccion a la Ciencia de la Computacion - CC101
40
Cuando hacemos operaciones aritméticas en números
en un computador, debemos recordar que cada
número y el resultado deben estar en el rango
definido por la ubicación de bits en memoria.
Introduccion a la Ciencia de la Computacion - CC101
Enteros en formato signo y magnitud
41
Suma y resta para enteros en representación signo y magnitudSuma y resta para enteros en representación signo y magnitud
es un poco compleja. Tenemos cuatro combinaciones dees un poco compleja. Tenemos cuatro combinaciones de
signos (dos signos, para cada uno de dos valores) para suma ysignos (dos signos, para cada uno de dos valores) para suma y
cuatro diferentes condiciones para resta. Esto significa quecuatro diferentes condiciones para resta. Esto significa que
debemos considerar ocho situaciones diferentes.debemos considerar ocho situaciones diferentes.
Sin embargo, si verificamos primero los signos, podemosSin embargo, si verificamos primero los signos, podemos
reducir esos casos.reducir esos casos.
Introduccion a la Ciencia de la Computacion - CC101
42
Sumas y restas de enteros en formato signo y magnitud
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 22
43
Dos enteros A y B son almacenados en formato signo y magnitud.Dos enteros A y B son almacenados en formato signo y magnitud.
Mostrar como B es sumado a AMostrar como B es sumado a A
SoluciónSolución
La operación es suma: el signo de B no se cambia. S = ALa operación es suma: el signo de B no se cambia. S = ASS XOR BXOR BSS ==
1; R1; RMM = A= AMM + (B+ (BMM + 1). Como no hay overflow, necesitamos tomar el+ 1). Como no hay overflow, necesitamos tomar el
complemento a dos de Rcomplemento a dos de RMM. El signo de R es el signo de B. (+17) +. El signo de R es el signo de B. (+17) +
(-22) = (-5).(-22) = (-5).
A = (A = (0 00100010 0010001))22 B = (B = (1 00101101 0010110))22
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 23
44
Dos enteros A y B son almacenados en formato signo y magnitud.Dos enteros A y B son almacenados en formato signo y magnitud.
Mostrar como B es restado de AMostrar como B es restado de A
SoluciónSolución
La operación es resta: el signo de B se cambiaLa operación es resta: el signo de B se cambia (S(SBB = S= SBB)). S = A. S = ASS XORXOR
BBSS = 1; R= 1; RMM = A= AMM + (B+ (BMM + 1). Como hay overflow, el valor de R+ 1). Como hay overflow, el valor de RMM es eles el
final. El signo de R es el signo de A. (-81) - (-22) = (-59).final. El signo de R es el signo de A. (-81) - (-22) = (-59).
A = (A = (1 10100011 1010001))22 B = (B = (1 00101101 0010110))22
Introduccion a la Ciencia de la Computacion - CC101
45
Todas las operaciones aritméticas como suma, resta,Todas las operaciones aritméticas como suma, resta,
multiplicación y división se pueden aplicar a reales almacenadosmultiplicación y división se pueden aplicar a reales almacenados
en formato punto flotante. Multiplicación de dos reales envuelveen formato punto flotante. Multiplicación de dos reales envuelve
multiplicación de dos enteros en representación signo ymultiplicación de dos enteros en representación signo y
magnitud. División de dos reales envuelve división de dosmagnitud. División de dos reales envuelve división de dos
enteros en representación signo y magnitud.enteros en representación signo y magnitud.
Como no discutimos multiplicación ni división de enteros enComo no discutimos multiplicación ni división de enteros en
representación signo y magnitud, no discutiremos aquírepresentación signo y magnitud, no discutiremos aquí
multiplicación ni división de reales. Solo mostraremos sumas ymultiplicación ni división de reales. Solo mostraremos sumas y
restas de reales.restas de reales.
Operaciones aritméticas en reales
Introduccion a la Ciencia de la Computacion - CC101
Suma y resta de reales
46
Suma y resta de números reales almacenados en punto flotanteSuma y resta de números reales almacenados en punto flotante
se reduce a suma y resta de dos enteros almacenados en signose reduce a suma y resta de dos enteros almacenados en signo
y magnitud (combinación de signo y mantisa) después dely magnitud (combinación de signo y mantisa) después del
alineamiento del punto decimal.alineamiento del punto decimal.
Introduccion a la Ciencia de la Computacion - CC101
47
Suma y resta de reales en formato punto flotante
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 24
48
Mostrar como el computador halla el resultado (+5.75) + (+161.875) =Mostrar como el computador halla el resultado (+5.75) + (+161.875) =
(+167.625)(+167.625)
SoluciónSolución
Como vimos en el capítulo de Almacenamiento de Datos, esos dos
números son almacenados en formato punto flotante, como mostrado
antes, pero necesitamos recordar que cada número tiene un 1
escondido (que no es almacenado pero si asumido).
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 24 (continuación)
49
Los primeros pasos del diagrama UML mostrado antes no sonLos primeros pasos del diagrama UML mostrado antes no son
necesarios. Primero de-normalizamos los números añadiendo los 1snecesarios. Primero de-normalizamos los números añadiendo los 1s
escondidos a la mantisa e incrementando el exponente. Ahora ambasescondidos a la mantisa e incrementando el exponente. Ahora ambas
mantisas de-normalizadas son de 24 bits e incluyen los 1s escondidos.mantisas de-normalizadas son de 24 bits e incluyen los 1s escondidos.
Ellos deberían ser almacenados en una ubicación de memoria de 24Ellos deberían ser almacenados en una ubicación de memoria de 24
bits. Cada exponente es incrementado.bits. Cada exponente es incrementado.
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 24 (continuación)
50
Ahora hacemos suma de signo y magnitud, tratando el signo y laAhora hacemos suma de signo y magnitud, tratando el signo y la
mantisa de cada número como un entero almacenado en representaciónmantisa de cada número como un entero almacenado en representación
signo y magnitud.signo y magnitud.
La mantisa es solo 23 bits, no se necesita redondeo. E = (10000110)La mantisa es solo 23 bits, no se necesita redondeo. E = (10000110)22 ==
134 M = 0100111101. En otras palabras, el resultado es134 M = 0100111101. En otras palabras, el resultado es
(1.0100111101)(1.0100111101)22 × 2× 2134−127134−127
= (10100111.101)= (10100111.101)22 == 167.625167.625..
No hay overflow en la mantisa, entonces normalizamos.No hay overflow en la mantisa, entonces normalizamos.
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 25
51
Mostrar como el computador halla el resultado (+5.75) + (−7.0234375)Mostrar como el computador halla el resultado (+5.75) + (−7.0234375)
= − 1.2734375= − 1.2734375
SolucionSolucion
Esos dos números pueden ser almacenados en formato punto flotante,
como se muestra abajo:
La de-normalización resulta en:La de-normalización resulta en:
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 25 (continuación)
52
Alineamiento no es necesario (ambos tienen el mismo exponente),Alineamiento no es necesario (ambos tienen el mismo exponente),
entonces aplicamos la operación suma a la combinación de signo yentonces aplicamos la operación suma a la combinación de signo y
mantisa. El resultado se muestra abajo, en donde el signo del resultadomantisa. El resultado se muestra abajo, en donde el signo del resultado
es negativo.es negativo.
Ahora necesitamos normalizar. Decrecemos el exponente tres veces yAhora necesitamos normalizar. Decrecemos el exponente tres veces y
desplazamos (shift) la mantisa de-normalizada a la izquierda tresdesplazamos (shift) la mantisa de-normalizada a la izquierda tres
posiciones:posiciones:
Introduccion a la Ciencia de la Computacion - CC101
Ejemplo 25 (continuación)
53
La mantisa es ahora de 24 bits, entonces redondeamos a 23 bits.La mantisa es ahora de 24 bits, entonces redondeamos a 23 bits.
El resultado es R = − 2El resultado es R = − 2127−127127−127
× 1.0100011 =× 1.0100011 = − 1.2734375− 1.2734375, como se, como se
experaba.experaba.

Más contenido relacionado

La actualidad más candente

Electrónica digital: Tema 3 Representación y minimización de funciones lógicas
Electrónica digital: Tema 3 Representación y minimización de funciones lógicasElectrónica digital: Tema 3 Representación y minimización de funciones lógicas
Electrónica digital: Tema 3 Representación y minimización de funciones lógicasSANTIAGO PABLO ALBERTO
 
Matematica antidiferenciación integral indefinida, propiedades
Matematica antidiferenciación integral indefinida, propiedadesMatematica antidiferenciación integral indefinida, propiedades
Matematica antidiferenciación integral indefinida, propiedadesMaxicar
 
informe compuertas logicas Formato IEEE
informe compuertas logicas Formato IEEEinforme compuertas logicas Formato IEEE
informe compuertas logicas Formato IEEEMichael Vaquiro
 
59069331 manual-logica-y-neumatica
59069331 manual-logica-y-neumatica59069331 manual-logica-y-neumatica
59069331 manual-logica-y-neumaticaOscar Barreto
 
Las Redes de Hopfield
Las Redes de HopfieldLas Redes de Hopfield
Las Redes de HopfieldSpacetoshare
 
circuitos digitales avansys
circuitos digitales avansyscircuitos digitales avansys
circuitos digitales avansysjhonreyes28
 
Electronica puertas lógicas
Electronica puertas lógicasElectronica puertas lógicas
Electronica puertas lógicasRMATE
 
Cuaderno de algebra
Cuaderno de algebraCuaderno de algebra
Cuaderno de algebraandogon
 
Teoría digital
Teoría digitalTeoría digital
Teoría digitalcoroneldax
 
Apuntes electronica digital
Apuntes electronica digitalApuntes electronica digital
Apuntes electronica digitalDani Lo
 
Puertas logicas y sistemas combinacionales
Puertas logicas y sistemas combinacionalesPuertas logicas y sistemas combinacionales
Puertas logicas y sistemas combinacionalesCarlos Cardelo
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicasJesus Chaux
 
Introducción a la electrónica digital
Introducción a la electrónica digitalIntroducción a la electrónica digital
Introducción a la electrónica digitalDaniel Remondegui
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Partecarpio
 

La actualidad más candente (19)

Electrónica digital: Tema 3 Representación y minimización de funciones lógicas
Electrónica digital: Tema 3 Representación y minimización de funciones lógicasElectrónica digital: Tema 3 Representación y minimización de funciones lógicas
Electrónica digital: Tema 3 Representación y minimización de funciones lógicas
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
 
Matematica antidiferenciación integral indefinida, propiedades
Matematica antidiferenciación integral indefinida, propiedadesMatematica antidiferenciación integral indefinida, propiedades
Matematica antidiferenciación integral indefinida, propiedades
 
Compuertas 1
Compuertas 1Compuertas 1
Compuertas 1
 
informe compuertas logicas Formato IEEE
informe compuertas logicas Formato IEEEinforme compuertas logicas Formato IEEE
informe compuertas logicas Formato IEEE
 
59069331 manual-logica-y-neumatica
59069331 manual-logica-y-neumatica59069331 manual-logica-y-neumatica
59069331 manual-logica-y-neumatica
 
Las Redes de Hopfield
Las Redes de HopfieldLas Redes de Hopfield
Las Redes de Hopfield
 
circuitos digitales avansys
circuitos digitales avansyscircuitos digitales avansys
circuitos digitales avansys
 
Electronica puertas lógicas
Electronica puertas lógicasElectronica puertas lógicas
Electronica puertas lógicas
 
Cuaderno de algebra
Cuaderno de algebraCuaderno de algebra
Cuaderno de algebra
 
Algebra de boole_1
Algebra de boole_1Algebra de boole_1
Algebra de boole_1
 
Teoría digital
Teoría digitalTeoría digital
Teoría digital
 
Apuntes electronica digital
Apuntes electronica digitalApuntes electronica digital
Apuntes electronica digital
 
Algebra boole
Algebra boole Algebra boole
Algebra boole
 
Puertas logicas y sistemas combinacionales
Puertas logicas y sistemas combinacionalesPuertas logicas y sistemas combinacionales
Puertas logicas y sistemas combinacionales
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
 
Introducción a la electrónica digital
Introducción a la electrónica digitalIntroducción a la electrónica digital
Introducción a la electrónica digital
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
 
Estructura de datos I Primera Parte
Estructura de datos I Primera ParteEstructura de datos I Primera Parte
Estructura de datos I Primera Parte
 

Destacado

Joel tecnología de la información y la comunicación
Joel tecnología de la información y la comunicaciónJoel tecnología de la información y la comunicación
Joel tecnología de la información y la comunicaciónjoelbalcal
 
Habilidades y competencias_siglo21_ocde
Habilidades y competencias_siglo21_ocdeHabilidades y competencias_siglo21_ocde
Habilidades y competencias_siglo21_ocdeMayra Alarcon
 
Desarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datosDesarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datosGabriel Hernadez Meza
 
Trabajo de informtica 2
Trabajo de informtica 2Trabajo de informtica 2
Trabajo de informtica 2yeissysita
 
Chucho, una historia de pelos
Chucho, una historia de pelosChucho, una historia de pelos
Chucho, una historia de pelosAna Cecilia
 
Practica 2
Practica 2Practica 2
Practica 2cobaep26
 
Maquinas empresarial
Maquinas empresarialMaquinas empresarial
Maquinas empresarialThetorvic13
 
Seminario n°5
Seminario n°5 Seminario n°5
Seminario n°5 mafita02
 
E t formen+beispiele_20121126
E t formen+beispiele_20121126E t formen+beispiele_20121126
E t formen+beispiele_20121126Jörg Hafer
 
Goldmedia Präsentation Web TV - ConLife Köln 30.06.2011
Goldmedia Präsentation Web TV - ConLife Köln 30.06.2011Goldmedia Präsentation Web TV - ConLife Köln 30.06.2011
Goldmedia Präsentation Web TV - ConLife Köln 30.06.2011Goldmedia Group
 

Destacado (20)

Joel tecnología de la información y la comunicación
Joel tecnología de la información y la comunicaciónJoel tecnología de la información y la comunicación
Joel tecnología de la información y la comunicación
 
Programa de capacitacion modelo
Programa de capacitacion modeloPrograma de capacitacion modelo
Programa de capacitacion modelo
 
Habilidades y competencias_siglo21_ocde
Habilidades y competencias_siglo21_ocdeHabilidades y competencias_siglo21_ocde
Habilidades y competencias_siglo21_ocde
 
Creative commons
Creative commonsCreative commons
Creative commons
 
Dany
DanyDany
Dany
 
Desarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datosDesarrolla aplicaciones de escritorio con bases de datos
Desarrolla aplicaciones de escritorio con bases de datos
 
EVIDENCIA BASE DE DATOS
EVIDENCIA BASE DE DATOSEVIDENCIA BASE DE DATOS
EVIDENCIA BASE DE DATOS
 
Trabajo de informtica 2
Trabajo de informtica 2Trabajo de informtica 2
Trabajo de informtica 2
 
Chucho, una historia de pelos
Chucho, una historia de pelosChucho, una historia de pelos
Chucho, una historia de pelos
 
Actividad de aprendizaje unidad 01
Actividad de aprendizaje   unidad 01Actividad de aprendizaje   unidad 01
Actividad de aprendizaje unidad 01
 
Practica 2
Practica 2Practica 2
Practica 2
 
La cremosita
La cremositaLa cremosita
La cremosita
 
Maquinas empresarial
Maquinas empresarialMaquinas empresarial
Maquinas empresarial
 
Bullyin fernanda aguirre
Bullyin fernanda aguirreBullyin fernanda aguirre
Bullyin fernanda aguirre
 
practica de videos
practica de videospractica de videos
practica de videos
 
Power point
Power pointPower point
Power point
 
Seminario n°5
Seminario n°5 Seminario n°5
Seminario n°5
 
E t formen+beispiele_20121126
E t formen+beispiele_20121126E t formen+beispiele_20121126
E t formen+beispiele_20121126
 
Goldmedia Präsentation Web TV - ConLife Köln 30.06.2011
Goldmedia Präsentation Web TV - ConLife Köln 30.06.2011Goldmedia Präsentation Web TV - ConLife Köln 30.06.2011
Goldmedia Präsentation Web TV - ConLife Köln 30.06.2011
 
Herramientas web 2.0
Herramientas web 2.0Herramientas web 2.0
Herramientas web 2.0
 

Similar a Cap4 operacionesendatos-cc1011

UD2_1 Sistemas de num
UD2_1 Sistemas de numUD2_1 Sistemas de num
UD2_1 Sistemas de numAlejandro G
 
Funciones Lógicas Combinatorias
Funciones Lógicas CombinatoriasFunciones Lógicas Combinatorias
Funciones Lógicas CombinatoriasGerardo Martínez
 
Digital
DigitalDigital
Digitaltoni
 
Digital E
Digital EDigital E
Digital Etoni
 
Electrónica digital
Electrónica digitalElectrónica digital
Electrónica digitalcandebobes
 
2. electronica digital
2. electronica digital2. electronica digital
2. electronica digitalsonsolesbar
 
Funciones y variables logicas
Funciones y variables logicasFunciones y variables logicas
Funciones y variables logicasAli Salcedo
 
Sistemas Numéricos
Sistemas NuméricosSistemas Numéricos
Sistemas NuméricosMaxChacon4
 
Pia de tecnicas
Pia de tecnicasPia de tecnicas
Pia de tecnicasLuis Lopez
 
Unidad 4 electronica_digital_v1_c
Unidad 4 electronica_digital_v1_cUnidad 4 electronica_digital_v1_c
Unidad 4 electronica_digital_v1_cmalvariol
 
Sistemas de números binarios
Sistemas de números binariosSistemas de números binarios
Sistemas de números binariosAlexQDiaz
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bitsUVM
 
Tema6 algebra boole
Tema6 algebra booleTema6 algebra boole
Tema6 algebra boolecharly333
 
Circuitos combinacionales
Circuitos combinacionalesCircuitos combinacionales
Circuitos combinacionalesJesus Mora
 

Similar a Cap4 operacionesendatos-cc1011 (20)

Algebra
AlgebraAlgebra
Algebra
 
UD2_1 Sistemas de num
UD2_1 Sistemas de numUD2_1 Sistemas de num
UD2_1 Sistemas de num
 
Funciones Lógicas Combinatorias
Funciones Lógicas CombinatoriasFunciones Lógicas Combinatorias
Funciones Lógicas Combinatorias
 
Digital
DigitalDigital
Digital
 
Digital E
Digital EDigital E
Digital E
 
Electrónica digital
Electrónica digitalElectrónica digital
Electrónica digital
 
2. electronica digital
2. electronica digital2. electronica digital
2. electronica digital
 
2. electronica digital
2. electronica digital2. electronica digital
2. electronica digital
 
Funciones y variables logicas
Funciones y variables logicasFunciones y variables logicas
Funciones y variables logicas
 
Sistemas Numéricos
Sistemas NuméricosSistemas Numéricos
Sistemas Numéricos
 
Pia de tecnicas
Pia de tecnicasPia de tecnicas
Pia de tecnicas
 
Practica 1
Practica 1Practica 1
Practica 1
 
Unidad 4 electronica_digital_v1_c
Unidad 4 electronica_digital_v1_cUnidad 4 electronica_digital_v1_c
Unidad 4 electronica_digital_v1_c
 
Electronica digital 4º eso
Electronica digital 4º esoElectronica digital 4º eso
Electronica digital 4º eso
 
Modulo
ModuloModulo
Modulo
 
Sistemas de números binarios
Sistemas de números binariosSistemas de números binarios
Sistemas de números binarios
 
Manejo de bits
Manejo de bitsManejo de bits
Manejo de bits
 
Tema6 algebra boole
Tema6 algebra booleTema6 algebra boole
Tema6 algebra boole
 
Matematica computacional
Matematica computacionalMatematica computacional
Matematica computacional
 
Circuitos combinacionales
Circuitos combinacionalesCircuitos combinacionales
Circuitos combinacionales
 

Último

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 

Último (20)

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 

Cap4 operacionesendatos-cc1011

  • 1. OperacionesOperaciones en Datosen Datos Prof: J. Solano 2011-I Universidad Nacional de Ingeniería Facultad de Ciencias Introducción a la Ciencia de la Computación
  • 2. Introduccion a la Ciencia de la Computacion - CC101 Objetivos Despues de estudiar este cap. el estudiante sera capaz de: 2  Listar las tres categorías de operaciones que se realizan en los datos.  Realizar operaciones lógicas binarias y unitarias en los patrones de bits. Distinguir entre las operaciones de cambio (shift) lógicas y aritméticas. Realizar sumas y restas de números enteros cuando están almacenados en formato de complemento a dos. Realizar sumas y restas de números enteros cuando se guardan en formato signo y magnitud. Realizar operaciones de suma y resta en reales almacenados en formato de punto flotante.
  • 3. Introduccion a la Ciencia de la Computacion - CC101 OPERACIONES LÓGICASOPERACIONES LÓGICAS 3 En el capítulo anterior vimos que los datos son almacenados enEn el capítulo anterior vimos que los datos son almacenados en el computador como patrones de bits.el computador como patrones de bits. Operaciones logícasOperaciones logícas sese refieren a las operaciones que aplican la misma operaciónrefieren a las operaciones que aplican la misma operación básica sobre bits individuales de un patrón, o en dos bitsbásica sobre bits individuales de un patrón, o en dos bits correspondientes en dos patrones. Esto significa que podemoscorrespondientes en dos patrones. Esto significa que podemos definir las operaciones lógicas a nivel de bits (definir las operaciones lógicas a nivel de bits (bit levelbit level) y a) y a nivel de patrones (nivel de patrones (pattern levelpattern level).). Una operación lógica a nivel de patrones sonUna operación lógica a nivel de patrones son nn operacionesoperaciones lógicas, del mismo tipo, a nivel de bits, dondelógicas, del mismo tipo, a nivel de bits, donde nn es el númeroes el número de bits en el patrón.de bits en el patrón.
  • 4. Introduccion a la Ciencia de la Computacion - CC101 Operaciones lógicas a nivel de bits Un bit puede tomar dos valores: 0 ó 1. Solo interpretamos el 0 como el valor false (falso) y 1 como el valor true (verdadero), y podemos aplicar las operaciones definidas en el algebra booleana para manipular bits. Boolean algebra (algebra boolena), llamada así en honor de George Boole, se convirtió en un campo especial de la Matemática llamado Lógica. Una gran aplicación del algebra booleana está en la construcción de circuitos lógicos en computadores. En esta sección solo discutiremos cuatro operaciones a nivel de bits, que son usadas para manipular bits: NOT, AND, OR, y XOR. 4 Algebra Booleana es la base de los circuitos lógicos de computadores y muchos dispositivos electrónicos
  • 5. Introduccion a la Ciencia de la Computacion - CC101 Operaciones lógicas a nivel de bits 5
  • 6. Introduccion a la Ciencia de la Computacion - CC101 NOT El operador NOT es un operador unitario: toma solo un input. El bit ouput es el complemento del input. 6 Para x = 0 o 1 x AND 0 → 0 0 AND x → 0 AND El operador AND es un operador binario: toma dos inputs. El bit ouput es 1 si ambos inputs son 1s y 0 en los otros tres casos.
  • 7. Introduccion a la Ciencia de la Computacion - CC101 OR El operador OR es un operador binario: toma dos inputs. El bit ouput es 0 si ambos inputs son 0s y es 1 en los otros tres casos. 7 XOR El operador XOR es un operador binario como el operador OR con solo una diferencia: el bit ouput es 0 si ambos inputs son 1s. For x = 0 or 1 x OR 1 → 1 1 OR x → 1 For x = 0 or 1 1 XOR x → NOT x x XOR 1 → NOT x
  • 8. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 1 8 En inglés se usa la conjunción “or” a veces para referirse aEn inglés se usa la conjunción “or” a veces para referirse a inclusive-or, y otras veces para exclusive-or.inclusive-or, y otras veces para exclusive-or. a.a. The sentence “I would like to have a car or a house” uses “or” inThe sentence “I would like to have a car or a house” uses “or” in the inclusive sense—I would like to have a car, a house or both.the inclusive sense—I would like to have a car, a house or both. b.b. The sentence “Today is either Monday or Tuesday” uses “or” inThe sentence “Today is either Monday or Tuesday” uses “or” in the exclusive sense—today is either Monday or Tuesday, but itthe exclusive sense—today is either Monday or Tuesday, but it cannot be both.cannot be both.
  • 9. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 2 9 El operador XOR no es un operador nuevo. Siempre podemosEl operador XOR no es un operador nuevo. Siempre podemos simularlo usando los otros tres operadores. Las siguientes dossimularlo usando los otros tres operadores. Las siguientes dos operaciones son equivalentesoperaciones son equivalentes La equivalencia puede probarse si hacemos la tabla de verdad paraLa equivalencia puede probarse si hacemos la tabla de verdad para ambosambos x XOR y ↔ [x AND (NOT y)] OR [(NOT x) AND y]
  • 10. Introduccion a la Ciencia de la Computacion - CC101 Operaciones lógicas a nivel de patrones Los mismos cuatro operadores (NOT, AND, OR, y XOR) pueden ser aplicados a un patrón de n-bits. El efecto es el mismo de aplicar cada operador a cada bit individual para NOT y para cada par de bits correspondientes para los otros tres operadores. Aqui se muestra los cuatro operadores con patrones de input y output. 10 Operadores lógicos aplicados a patrones de bits
  • 11. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 3 11 Usar el operador NOT en el patrón de bits 10011000Usar el operador NOT en el patrón de bits 10011000 SoluciónSolución La solución es mostrada abajo. Notar que el operador NOT cambiaLa solución es mostrada abajo. Notar que el operador NOT cambia cada 0 a 1 y cada 1 a 0.cada 0 a 1 y cada 1 a 0.
  • 12. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 4 12 Usar el operador AND en los patrones de bits 10011000 yUsar el operador AND en los patrones de bits 10011000 y 0010101000101010 SoluciónSolución La solución es mostrada abajo. Notar que solo un bit en el output esLa solución es mostrada abajo. Notar que solo un bit en el output es 1, cuando los dos bits correspondientes son 1s1, cuando los dos bits correspondientes son 1s
  • 13. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 5 13 Usar el operador OR en los patrones de bits 10011001 yUsar el operador OR en los patrones de bits 10011001 y 0010111000101110 SoluciónSolución La solución es mostrada abajo. Notar que solo un bit en el output esLa solución es mostrada abajo. Notar que solo un bit en el output es 0, cuando los dos bits correspondientes son 0s0, cuando los dos bits correspondientes son 0s
  • 14. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 6 14 Usar el operador XOR en los patrones de bits 10011001 yUsar el operador XOR en los patrones de bits 10011001 y 0010111000101110 SoluciónSolución La solución es mostrada abajo. Comparar el output con el delLa solución es mostrada abajo. Comparar el output con el del ejemplo anterior. La única diferencia es que cuando los dos bitsejemplo anterior. La única diferencia es que cuando los dos bits inputs son 1s, el resultado es 0 (el efecto de exclusión).inputs son 1s, el resultado es 0 (el efecto de exclusión).
  • 15. Introduccion a la Ciencia de la Computacion - CC101 15  Complementing (NOT)  Unsetting (desajuste) (AND)  Setting (ajuste) (OR)  Flipping (voltear) (XOR) Aplicaciones Las cuatro operaciones lógicas pueden ser usadas paraLas cuatro operaciones lógicas pueden ser usadas para modificar un patrón de bits.modificar un patrón de bits.
  • 16. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 7 16 Usar una máscara (mask) para desajustar (clear) los cinco bits mas aUsar una máscara (mask) para desajustar (clear) los cinco bits mas a la izquierda de un patrón de bits. Probar la máscara con un patrónla izquierda de un patrón de bits. Probar la máscara con un patrón 10100110.10100110. SoluciónSolución La máscara es 00000111. El resultado de aplicar la máscara es:La máscara es 00000111. El resultado de aplicar la máscara es:
  • 17. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 8 17 Usar una máscara para ajustar los cinco bits mas a la izquierda de unUsar una máscara para ajustar los cinco bits mas a la izquierda de un patrón de bits. Probar la máscara con un patrón 10100110.patrón de bits. Probar la máscara con un patrón 10100110. SoluciónSolución La máscara es 11111000. El resultado de aplicar la máscara es:La máscara es 11111000. El resultado de aplicar la máscara es:
  • 18. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 9 18 Usar una máscara para voltear (flip) los cinco bits mas a la izquierdaUsar una máscara para voltear (flip) los cinco bits mas a la izquierda de un patrón de bits. Probar la máscara con un patrón 10100110.de un patrón de bits. Probar la máscara con un patrón 10100110. SoluciónSolución La máscara es 11111000. El resultado de aplicar la máscara es:La máscara es 11111000. El resultado de aplicar la máscara es:
  • 19. Introduccion a la Ciencia de la Computacion - CC101 OPERACIONES SHIFT (DESPLAZAMIENTO)OPERACIONES SHIFT (DESPLAZAMIENTO) Operaciones ShiftOperaciones Shift mueve los bits en un patrón, cambiando lamueve los bits en un patrón, cambiando la posición de los bits. Ellos pueden mover bits a la izquierda o aposición de los bits. Ellos pueden mover bits a la izquierda o a la derecha. Podemos dividir operaciones shift en dosla derecha. Podemos dividir operaciones shift en dos categorías:categorías: operaciones shift lógicasoperaciones shift lógicas yy operaciones shiftoperaciones shift aritméticasaritméticas.. 19
  • 20. Introduccion a la Ciencia de la Computacion - CC101 Operaciones shift lógicas Una operación shift lógica se aplica a un patrón que no representa un número con signo. La razón es que estas operaciones shift pueden cambiar el signo del número que se define por el bit más a la izquierda en el patrón. Se distinguen dos tipos de operaciones shift lógicas, como se describe a continuación: 20  Shift lógico  Shift circular lógico (Rotar)
  • 21. Introduccion a la Ciencia de la Computacion - CC101 21 Operaciones shift lógicas
  • 22. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 10 22 Usar una operación shift lógica izquierda en el patrón de bitsUsar una operación shift lógica izquierda en el patrón de bits 10011000.10011000. SoluciónSolución La solución es mostrada abajo. El bit mas a la izquierda se pierde yLa solución es mostrada abajo. El bit mas a la izquierda se pierde y un 0 es insertado en el bit mas a la derechaun 0 es insertado en el bit mas a la derecha Descartado Añadido
  • 23. Introduccion a la Ciencia de la Computacion - CC101 23 Operaciones shift circulares
  • 24. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 11 24 Usar una operación shift circular izquierda en el patrón de bitsUsar una operación shift circular izquierda en el patrón de bits 10011000.10011000. SoluciónSolución La solución es mostrada abajo. El bit mas a la izquierda esLa solución es mostrada abajo. El bit mas a la izquierda es circulado y se convierte en el bit mas a la derecha.circulado y se convierte en el bit mas a la derecha.
  • 25. Introduccion a la Ciencia de la Computacion - CC101 25 Operaciones shift aritméticas Operaciones shift aritméticas Las operaciones shift aritméticas asumen que el patrón de bits es un entero con signo en formato complemento a dos. Shift aritmético derecho se utiliza para dividir un entero en dos, mientras que el shift aritmético izquierdo se usa para multiplicar un número entero por dos.
  • 26. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 12 26 Usar una operacion shift aritmética derecha en el patrón de bitsUsar una operacion shift aritmética derecha en el patrón de bits 10011001. El patrón es un entero en formato complemento dos10011001. El patrón es un entero en formato complemento dos SoluciónSolución La solución es mostrada abajo. El bit mas a la izquierda es retenidoLa solución es mostrada abajo. El bit mas a la izquierda es retenido y también copiado a su bit vecino a su derechay también copiado a su bit vecino a su derecha El número original era -103 y el nuevo número es -52, que es elEl número original era -103 y el nuevo número es -52, que es el resultado de dividir -103 por 2 truncado al menor entero.resultado de dividir -103 por 2 truncado al menor entero.
  • 27. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 13 27 Usar una operacion shift aritmética izquierda en el patrón de bitsUsar una operacion shift aritmética izquierda en el patrón de bits 11011001. El patrón es un entero en formato complemento dos11011001. El patrón es un entero en formato complemento dos SoluciónSolución La solución es mostrada abajo. El bit mas a la izquierda es perdidoLa solución es mostrada abajo. El bit mas a la izquierda es perdido y un 0 es insertado en el bit mas a la derechay un 0 es insertado en el bit mas a la derecha El número original era -39 y el nuevo número es -78. El númeroEl número original era -39 y el nuevo número es -78. El número original es multiplicado por dos. La operación es valida porque nooriginal es multiplicado por dos. La operación es valida porque no ocurrió underflow.ocurrió underflow.
  • 28. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 14 28 Usar una operación shift aritmética izquierda en el patrón de bitsUsar una operación shift aritmética izquierda en el patrón de bits 01111111. El patrón es un entero en formato complemento a dos.01111111. El patrón es un entero en formato complemento a dos. SoluciónSolución La solución es mostrada abajo. El bit mas a la izquierda es perdidoLa solución es mostrada abajo. El bit mas a la izquierda es perdido y un 0 es insertado en el bit mas a la derechay un 0 es insertado en el bit mas a la derecha El número original era 127 y el nuevo número es -2. Aquí elEl número original era 127 y el nuevo número es -2. Aquí el resultado no es válido porque ocurrió un overflow. La respuestaresultado no es válido porque ocurrió un overflow. La respuesta esperada 127 x 2 = 254 no puede ser representada por un patrón de 8esperada 127 x 2 = 254 no puede ser representada por un patrón de 8 bits, en formato complemento a dos.bits, en formato complemento a dos.
  • 29. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 15 29 Combinando operaciones lógicas y operaciones shift lógicas nos daCombinando operaciones lógicas y operaciones shift lógicas nos da algunas herramientas para manipular patrones de bits. Supongamos quealgunas herramientas para manipular patrones de bits. Supongamos que tenemos un patrón y necesitamos utilizar el tercer bit (de la derecha) detenemos un patrón y necesitamos utilizar el tercer bit (de la derecha) de este patrón en un proceso de toma de decisiones. Queremos saber sieste patrón en un proceso de toma de decisiones. Queremos saber si este bit particular es 0 o 1. A continuación se muestra cómo podemoseste bit particular es 0 o 1. A continuación se muestra cómo podemos hallarlo.hallarlo. Podemos probar el resultado: si es un entero sin signo 1, el bit blancoPodemos probar el resultado: si es un entero sin signo 1, el bit blanco era 1, mientras que si el resultado es un entero sin signo 0, el bitera 1, mientras que si el resultado es un entero sin signo 0, el bit blanco era 0.blanco era 0.
  • 30. Introduccion a la Ciencia de la Computacion - CC101 OPERACIONES ARITMÉTICASOPERACIONES ARITMÉTICAS Operaciones aritméticas implican sumar, restar, multiplicar yOperaciones aritméticas implican sumar, restar, multiplicar y dividir. Podemos aplicar estas operaciones a los númerosdividir. Podemos aplicar estas operaciones a los números enteros y a los números de punto flotante.enteros y a los números de punto flotante. 30
  • 31. Introduccion a la Ciencia de la Computacion - CC101 31 Todas las operaciones aritméticas como suma, resta,Todas las operaciones aritméticas como suma, resta, multiplicación y división se puede aplicar a enteros. A pesar quemultiplicación y división se puede aplicar a enteros. A pesar que la multiplicación (división) de enteros puede ser implementadala multiplicación (división) de enteros puede ser implementada usándose suma (resta) repetida, el procedimiento no es eficiente.usándose suma (resta) repetida, el procedimiento no es eficiente. Hay procedimientos más eficientes para la multiplicación yHay procedimientos más eficientes para la multiplicación y división, como procedimientos de cabina (división, como procedimientos de cabina (BoothBooth proceduresprocedures),), pero estos están fuera del alcance de este curso. Por esta razón,pero estos están fuera del alcance de este curso. Por esta razón, sólo discutimos aquí sumas y restas de números enteros.sólo discutimos aquí sumas y restas de números enteros. Operaciones aritméticas en enteros
  • 32. Introduccion a la Ciencia de la Computacion - CC101 Enteros en formato complemento a dos 32 Cuando se encuentra la operación resta, el computadorCuando se encuentra la operación resta, el computador simplemente cambia a una operación de suma, pero cambia asimplemente cambia a una operación de suma, pero cambia a formato complemento a dos el segundo número. En otrasformato complemento a dos el segundo número. En otras palabras:palabras: A − B ↔ A + (B + 1) Donde B es el complemento a uno de B y (B + 1) es el complemento a dos de B
  • 33. Introduccion a la Ciencia de la Computacion - CC101 33 Debemos recordar que sumamos enteros columna por columna.Debemos recordar que sumamos enteros columna por columna. La siguiente tabla muestra la suma y lo que se lleva (carry) (C).La siguiente tabla muestra la suma y lo que se lleva (carry) (C).
  • 34. Introduccion a la Ciencia de la Computacion - CC101 34 Suma y resta de enteros en formato complemento a dos
  • 35. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 16 35 Dos enteros A y B son almacenados en formato complemento a dos.Dos enteros A y B son almacenados en formato complemento a dos. Mostrar como B es sumado a AMostrar como B es sumado a A SoluciónSolución La operación es suma. A es sumado a B y el resultado es almacenadoLa operación es suma. A es sumado a B y el resultado es almacenado en R. (+17) + (+22) = (+39).en R. (+17) + (+22) = (+39). A = (00010001)A = (00010001)22 B = (00010110)B = (00010110)22
  • 36. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 17 36 Dos enteros A y B son almacenados en formato complemento a dos.Dos enteros A y B son almacenados en formato complemento a dos. Mostrar como B es sumado a AMostrar como B es sumado a A SoluciónSolución La operación es suma. A es sumado a B y el resultado es almacenadoLa operación es suma. A es sumado a B y el resultado es almacenado en R. (+24) + (-17) = (+7).en R. (+24) + (-17) = (+7). A = (00011000)A = (00011000)22 B = (11101111)B = (11101111)22
  • 37. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 18 37 Dos enteros A y B son almacenados en formato complemento a dos.Dos enteros A y B son almacenados en formato complemento a dos. Mostrar como B es restado de AMostrar como B es restado de A SoluciónSolución La operación es resta. A es sumado a (B + 1) y el resultado esLa operación es resta. A es sumado a (B + 1) y el resultado es almacenado en R. (+24) - (-17) = (+41).almacenado en R. (+24) - (-17) = (+41). A = (00011000)A = (00011000)22 B = (11101111)B = (11101111)22
  • 38. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 19 38 Dos enteros A y B son almacenados en formato complemento a dos.Dos enteros A y B son almacenados en formato complemento a dos. Mostrar como B es restado de AMostrar como B es restado de A SoluciónSolución La operación es resta. A es sumado a (B + 1) y el resultado esLa operación es resta. A es sumado a (B + 1) y el resultado es almacenado en R. (-35) - (+20) = (-55).almacenado en R. (-35) - (+20) = (-55). A = (11011101)A = (11011101)22 B = (00010100)B = (00010100)22
  • 39. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 20 39 Dos enteros A y B son almacenados en formato complemento a dos.Dos enteros A y B son almacenados en formato complemento a dos. Mostrar como B es sumado a AMostrar como B es sumado a A SoluciónSolución La operación es suma. A es sumado a B y el resultado es almacenadoLa operación es suma. A es sumado a B y el resultado es almacenado en R.en R. A = (01111111)A = (01111111)22 B = (00000011)B = (00000011)22 Esperabamos el resultado 127 + 3 = 130, pero la respuesta es -126. ElEsperabamos el resultado 127 + 3 = 130, pero la respuesta es -126. El error es debido al overflow, porque el valor esperado (+130) no está enerror es debido al overflow, porque el valor esperado (+130) no está en el rango -128 a +127.el rango -128 a +127.
  • 40. Introduccion a la Ciencia de la Computacion - CC101 40 Cuando hacemos operaciones aritméticas en números en un computador, debemos recordar que cada número y el resultado deben estar en el rango definido por la ubicación de bits en memoria.
  • 41. Introduccion a la Ciencia de la Computacion - CC101 Enteros en formato signo y magnitud 41 Suma y resta para enteros en representación signo y magnitudSuma y resta para enteros en representación signo y magnitud es un poco compleja. Tenemos cuatro combinaciones dees un poco compleja. Tenemos cuatro combinaciones de signos (dos signos, para cada uno de dos valores) para suma ysignos (dos signos, para cada uno de dos valores) para suma y cuatro diferentes condiciones para resta. Esto significa quecuatro diferentes condiciones para resta. Esto significa que debemos considerar ocho situaciones diferentes.debemos considerar ocho situaciones diferentes. Sin embargo, si verificamos primero los signos, podemosSin embargo, si verificamos primero los signos, podemos reducir esos casos.reducir esos casos.
  • 42. Introduccion a la Ciencia de la Computacion - CC101 42 Sumas y restas de enteros en formato signo y magnitud
  • 43. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 22 43 Dos enteros A y B son almacenados en formato signo y magnitud.Dos enteros A y B son almacenados en formato signo y magnitud. Mostrar como B es sumado a AMostrar como B es sumado a A SoluciónSolución La operación es suma: el signo de B no se cambia. S = ALa operación es suma: el signo de B no se cambia. S = ASS XOR BXOR BSS == 1; R1; RMM = A= AMM + (B+ (BMM + 1). Como no hay overflow, necesitamos tomar el+ 1). Como no hay overflow, necesitamos tomar el complemento a dos de Rcomplemento a dos de RMM. El signo de R es el signo de B. (+17) +. El signo de R es el signo de B. (+17) + (-22) = (-5).(-22) = (-5). A = (A = (0 00100010 0010001))22 B = (B = (1 00101101 0010110))22
  • 44. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 23 44 Dos enteros A y B son almacenados en formato signo y magnitud.Dos enteros A y B son almacenados en formato signo y magnitud. Mostrar como B es restado de AMostrar como B es restado de A SoluciónSolución La operación es resta: el signo de B se cambiaLa operación es resta: el signo de B se cambia (S(SBB = S= SBB)). S = A. S = ASS XORXOR BBSS = 1; R= 1; RMM = A= AMM + (B+ (BMM + 1). Como hay overflow, el valor de R+ 1). Como hay overflow, el valor de RMM es eles el final. El signo de R es el signo de A. (-81) - (-22) = (-59).final. El signo de R es el signo de A. (-81) - (-22) = (-59). A = (A = (1 10100011 1010001))22 B = (B = (1 00101101 0010110))22
  • 45. Introduccion a la Ciencia de la Computacion - CC101 45 Todas las operaciones aritméticas como suma, resta,Todas las operaciones aritméticas como suma, resta, multiplicación y división se pueden aplicar a reales almacenadosmultiplicación y división se pueden aplicar a reales almacenados en formato punto flotante. Multiplicación de dos reales envuelveen formato punto flotante. Multiplicación de dos reales envuelve multiplicación de dos enteros en representación signo ymultiplicación de dos enteros en representación signo y magnitud. División de dos reales envuelve división de dosmagnitud. División de dos reales envuelve división de dos enteros en representación signo y magnitud.enteros en representación signo y magnitud. Como no discutimos multiplicación ni división de enteros enComo no discutimos multiplicación ni división de enteros en representación signo y magnitud, no discutiremos aquírepresentación signo y magnitud, no discutiremos aquí multiplicación ni división de reales. Solo mostraremos sumas ymultiplicación ni división de reales. Solo mostraremos sumas y restas de reales.restas de reales. Operaciones aritméticas en reales
  • 46. Introduccion a la Ciencia de la Computacion - CC101 Suma y resta de reales 46 Suma y resta de números reales almacenados en punto flotanteSuma y resta de números reales almacenados en punto flotante se reduce a suma y resta de dos enteros almacenados en signose reduce a suma y resta de dos enteros almacenados en signo y magnitud (combinación de signo y mantisa) después dely magnitud (combinación de signo y mantisa) después del alineamiento del punto decimal.alineamiento del punto decimal.
  • 47. Introduccion a la Ciencia de la Computacion - CC101 47 Suma y resta de reales en formato punto flotante
  • 48. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 24 48 Mostrar como el computador halla el resultado (+5.75) + (+161.875) =Mostrar como el computador halla el resultado (+5.75) + (+161.875) = (+167.625)(+167.625) SoluciónSolución Como vimos en el capítulo de Almacenamiento de Datos, esos dos números son almacenados en formato punto flotante, como mostrado antes, pero necesitamos recordar que cada número tiene un 1 escondido (que no es almacenado pero si asumido).
  • 49. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 24 (continuación) 49 Los primeros pasos del diagrama UML mostrado antes no sonLos primeros pasos del diagrama UML mostrado antes no son necesarios. Primero de-normalizamos los números añadiendo los 1snecesarios. Primero de-normalizamos los números añadiendo los 1s escondidos a la mantisa e incrementando el exponente. Ahora ambasescondidos a la mantisa e incrementando el exponente. Ahora ambas mantisas de-normalizadas son de 24 bits e incluyen los 1s escondidos.mantisas de-normalizadas son de 24 bits e incluyen los 1s escondidos. Ellos deberían ser almacenados en una ubicación de memoria de 24Ellos deberían ser almacenados en una ubicación de memoria de 24 bits. Cada exponente es incrementado.bits. Cada exponente es incrementado.
  • 50. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 24 (continuación) 50 Ahora hacemos suma de signo y magnitud, tratando el signo y laAhora hacemos suma de signo y magnitud, tratando el signo y la mantisa de cada número como un entero almacenado en representaciónmantisa de cada número como un entero almacenado en representación signo y magnitud.signo y magnitud. La mantisa es solo 23 bits, no se necesita redondeo. E = (10000110)La mantisa es solo 23 bits, no se necesita redondeo. E = (10000110)22 == 134 M = 0100111101. En otras palabras, el resultado es134 M = 0100111101. En otras palabras, el resultado es (1.0100111101)(1.0100111101)22 × 2× 2134−127134−127 = (10100111.101)= (10100111.101)22 == 167.625167.625.. No hay overflow en la mantisa, entonces normalizamos.No hay overflow en la mantisa, entonces normalizamos.
  • 51. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 25 51 Mostrar como el computador halla el resultado (+5.75) + (−7.0234375)Mostrar como el computador halla el resultado (+5.75) + (−7.0234375) = − 1.2734375= − 1.2734375 SolucionSolucion Esos dos números pueden ser almacenados en formato punto flotante, como se muestra abajo: La de-normalización resulta en:La de-normalización resulta en:
  • 52. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 25 (continuación) 52 Alineamiento no es necesario (ambos tienen el mismo exponente),Alineamiento no es necesario (ambos tienen el mismo exponente), entonces aplicamos la operación suma a la combinación de signo yentonces aplicamos la operación suma a la combinación de signo y mantisa. El resultado se muestra abajo, en donde el signo del resultadomantisa. El resultado se muestra abajo, en donde el signo del resultado es negativo.es negativo. Ahora necesitamos normalizar. Decrecemos el exponente tres veces yAhora necesitamos normalizar. Decrecemos el exponente tres veces y desplazamos (shift) la mantisa de-normalizada a la izquierda tresdesplazamos (shift) la mantisa de-normalizada a la izquierda tres posiciones:posiciones:
  • 53. Introduccion a la Ciencia de la Computacion - CC101 Ejemplo 25 (continuación) 53 La mantisa es ahora de 24 bits, entonces redondeamos a 23 bits.La mantisa es ahora de 24 bits, entonces redondeamos a 23 bits. El resultado es R = − 2El resultado es R = − 2127−127127−127 × 1.0100011 =× 1.0100011 = − 1.2734375− 1.2734375, como se, como se experaba.experaba.