You are on page 1of 26

ESCUELA ACADMICO DE INGENIERA EN

INFORMTICA Y SISTEMAS
FACULTAD DE INGENIERA
ARITMTICA DEL
COMPUTADOR
UNIDAD ARITMTICO LGICA
Es la parte del computador que realiza
realmente las operaciones aritmticas y
lgicas con datos.
El resto de los elemento del computador estn
principalmente para suministrar datos a la ALU,
a fin de que procese y recupere resultados.
Una ALU se basa en dispositivos lgicos
digitales que pueden almacenar dgitos
binarios y realizar operaciones lgicas
booleanas elementales.
La UC proporciona las seales que gobiernan el
funcionamiento y transferencia.
Los datos se presentan a la ALU en registros, y en
registros se almacenan los resultados de las
operaciones producidos por la ALU.
La ALU puede tambin activar indicadores (flags) como
resultado de una operacin.
Ejemplo: Un flag puede indicar si el resultado de una
operacin es positivo (0) o negativo (1), o si resultado
es zero (1) o no (0).
REPRESENTACIN DE ENTERO
En el sistema de numeracin binaria, cualquier
nmero puede representarse tan solo con los
dgitos 1 y 0, el signo menos, y la coma de la
base.
Sin embargo, en el computador no dispone del
signo y de la coma.
Para representar los nmeros solo pueden
utilizarse los dgitos 0 y 1.
-1101,0101
2
= -13,3125
10
UTILIZANDO SOLO ENTEROS NO NEGATIVOS
Formula
= 2

1
=0

Ejemplo
:
= 2

=
5
=0

donde n =
6
Con n dgitos:
1

0

REPRESENTACIN EN SIGNO Y MAGNITUD
La forma ms sencilla es la representacin de signo
y magnitud.

Existen varias convenciones para representar
nmeros enteros tanto positivos como negativos.
Todas ellas implica tratar el bit ms significativo
(el ms a la izquierda) como un bit de signo (si es 0
ser positivo y si es 1 ser negativo).
REPRESENTACIN EN SIGNO Y MAGNITUD
El caso general puede expresarse como sigue:

=
+2

2
=0

1
= 0
2

2
=0

1
= 1

LIMITACIONES EN LA REPRESENTACIN DE
SIGNO Y MAGNITUD
Esta representacin posee varias limitaciones.
Una de ella es que hay dos representaciones del
nmero 0:
00000000 = + 0
10
10000000 = - 0
10
Esto es un inconveniente porque es algo ms difcil
comprobar el valor 0 que si hubiera una sola
representacin.
Comprobar el valor 0 es una operacin frecuente de
los computadores.
Debido a estas limitaciones, raramente se usa la
representacin signo-magnitud en la ALU.
REPRESENTACIN EN COMPLEMENTO A DOS
Tambin utiliza el bit ms significativo como bit de
signo.
Difiere de la representacin anterior en la forma de
interpretar los bits restantes.
Su RANGO vara de -2
n-1
hasta 2
n-1
-1, ejemplo con 8
bits: (n=8)



De la imagen tambin deducimos que existe solo una
forma de representar el 0 (00000000).
CONVERTIR UN NMERO POSITIVO A
NEGATIVO Y VICEVERSA
A) Se invierten los bits,
B) Se suma 1,

EJEMPLO 00000001 = 1
(Se invierten los bits)
A) 11111110
(Se le suma 1)
B) 11111111 = -1
CONVERTIR UN NMERO POSITIVO A
NEGATIVO Y VICEVERSA
A) Se invierten los bits,
B) Se suma 1,

EJEMPLO: 11111111 = -1
(Se invierten los bits)
A) 00000000
(Se le suma 1)
B) 00000001 = 1
CONVERTIR A DECIMAL CUALQUIER NMERO
EN COMPLEMENTO A DOS
Formula = 2
1

1
+ 2

2
=0

EJEMPLO 00000001 donde n=8 (a
7
=0)

= 2
81

81
+ 2

82
=0

= 2
7

7
+ 2

6
=0

= 2
1

1
+ 2

2
=0

= 2
7
0 + 2

6
=0

= 2

6
=0

=
CONVERTIR A DECIMAL CUALQUIER
NMERO EN COMPLEMENTO A DOS
Formula
= 2
1

1
+ 2

2
=0

EJEMPLO 11111111 donde n=8 (a
7
=1)
= 2
81

81
+ 2

82
=0

= 2
7

7
+ 2

6
=0

= 2
1

1
+ 2

2
=0

= 2
7
1 + 2

6
=0

= 128 + 2

6
=0

= 128 + 127 =
EJEMPLOS: REPRESENTACIONES EN 4 BITS
CAJA DE VALORES
-128 64 32 16 8 4 2 1
1 1 1 1 1 1 1 1
1*(-128) 1*64 1*32 1*16 1*8 1*4 1*2 1*1
1*(-128) + 1*64 + 1*32 + 1*16 + 1*8 + 1*4 + 1*2 + 1*1
-128+64+32+16+8+4+2+1
-1
Podemos utilizar la siguiente caja de valores para
evaluar la conversin de binario a decimal,
multiplicando el valor de cada bit por el encabezado
de la columna.
Ejemplo: 11111111
=

=

CAJA DE VALORES
-128 64 32 16 8 4 2 1
0 0 0 0 0 0 0 1
0*(-
128)
0*64 0*32 0*16 0*8 0*4 0*2 1*1
0*(-128) + 0*64 + 0*32 + 0*16 + 0*8 + 0*4 + 0*2 + 1*1
1
Ejemplo: 00000001
= 2
1

1
+ 2

2
=0

CONVERSIN ENTRE LONGITUDES DE BITS
DIFERENTES
A veces se desea tomar un entero de n bits y
almacenarlo en m bits, siendo m > n.
Utilizando la representacin de signo-magnitud
simplemente se traslada el bit de signo hasta la
nueva posicin MSB.
CONVERSIN ENTRE LONGITUDES DE BITS
DIFERENTES
El procedimiento anterior no funciona con los enteros
negativos en complemento a dos.
La regla para los enteros en complemento a dos es
trasladar el bit de signo a la nueva posicin MSB y
completar con bits del mismo valor.
COMPROBACIN MATEMTICA
A veces se desea tomar un entero de n bits y
almacenarlo en m bits, siendo m > n.
= 2
1

1
+ 2

2
=0
= 2
1

1
+ 2

2
=0

Encontramos que podemos representar A de
dos distintas formas (con m y con n dgitos).
Entonces las dos representaciones deben ser
iguales.

COMPROBACIN MATEMTICA
2
1
+ 2

2
=0
= 2
1
+ 2

2
=0


= 2
1
+ 2

2
=0
= 2
1
+ 2

2
=0

2
1
+ 2

2
=0
2

2
=0
= 2
1


2
1
+ 2

2
=0
2

2
=0
= 2
1


COMPROBACIN MATEMTICA
Siendo m >
n.
2
1
+ 2

2
=1
= 2
1


2
1
+ 2

2
=1
= 2
1


2
1
+ 2

2
=1
= 2
1


1 + 2

2
=0
+ 2

2
=1
= 1 + 2

2
=0


Cambio de variable, n-1
= k

2

= 1 + 2

1
=0

Ejemplo:
2
8
= 1 +2

7
=0


256 = 1 + 2
7
+ 2
6
+ 2
5
+ 2
4
+ 2
3
+ 2
2
+ 2
1
+ 2
0
256 = 1 + 128 + 64 + 32
+ 16 + 8 + 4 + 2 + 1
256 = 1 + 255
256 = 256



1 + 2

2
=0
+ 2

2
=1
= 1 + 2

2
=0


2

2
=1
= 2

2
=0
2

2
=0


2

2
=1
= 2

2
=1


2

2
=1
= 2

2
=1

=
La regla para los enteros en complemento a
dos es trasladar el bit de signo a la nueva
posicin MSB y completar con bits del mismo
valor.

Como el nmero es negativo (MSB=1)
entonces [

] = 1

REPRESENTACIN EN COMA FIJA
Es aquella que destina una cantidad fija para la
parte entera y la parte fraccionaria.

10101,110 = 12
4
+ 02
3
+ 12
2
+ 02
1
+ 12
0
+
12
-1
+ 12
-2
+ 02
-3
= 21,7510

01001,011 = 02
4
+ 12
3
+ 02
2
+ 02
1
+ 12
0
+
02
-1
+ 12
-2
+ 12
-3
= 9,37510
GRACIAS