You are on page 1of 15

Aritmtica del computador

W. Stallings. Organizacin y arquitectura de computadores. Prentice Hall. 1997.


Captulo 8 (nmeros enteros)

Datos
Los computadores manejan datos representados como una secuencia de bits. Los datos pueden ser numricos y no numricos. Datos no numricos: Representacin ASCII de los caracteres (cada uno ocupa 1 byte). Ejercicio: Fijaos en las representaciones de los
caracteres 0 a 9, y la relacin que hay entre las representaciones de las maysculas y las correspondientes minsculas. Es sencillo ordenar alfabticamente?

Nos centraremos en los datos numricos.


TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Datos numricos
Tipos:
Enteros o punto fijo. Reales o punto flotante.

Potencias enteras de 2: 20=1, 21=2, 22=4, 23=8, 24=16, 25=32, 26=64, 27=128, 28=256, 29=512, 210=1024=1K, 211=2K, 212=4K, 220=1048676=1M, 230=1G, 240=1T, .....
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Enteros
Con 8 bits se pueden representar 28=256 valores: desde el 0 (00000000) hasta el 255 (11111111). En general, si una secuencia de n bits an-1an...a1a0 es interpretada como un entero sin signo A, su valor es: n 1

A = 2i ai
i =0

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Conversin decimal - binario


Mtodo de la divisin:
813 2 1 406 0 2

813 |10 =

203 2 1 101 2 1 50 2 0 25 2 1 12 2 0 1100101101 |2 6 2 0 3 2 TECNOLOXA DE COMPUTADORES 1 1 Tema 2. Representacin da informacin 3

Conversin binario - decimal


Mtodo del producto:

1001110110 |2 = 630 |10

1 2 4 8 1 16 1 32 1 64 0 128 0 256 1 512

0 1 1 0

0 2 4 0 16 32 64 0 0 512 630

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Cdigos hexadecimal y octal


Corresponden a bases 16 y 8 respectivamente. Se usan para representar de modo compacto las representaciones binarias. Cuando un nmero est en hexadecimal se suele indicar con el prefijo 0x. Cada grupo de 4 (3) bits se corresponde con un dgito en hexadecimal (octal).

B i n

0 0 0 0

0 0 0 1

0 0 1 0

0 0 1 1

0 1 0 0

0 1 0 1

0 1 1 0

0 1 1 1

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

H 0 1 2 3 4 5 6 7 8 9 A B C D E F x
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Representacin en signo y magnitud


El bit ms significativo representa el signo: 0 si es positivo y 1 si es negativo. Los n-1 bits menos significativos representan la magnitud. Ejemplos: +18 = 00010010
-18 = 10010010
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Signo - magnitud
Si an-1 = 0 si an-1 = 1
i

A = 2 ai
i =0

n2

A = 2i ai
i =0

n2

Limitaciones: Las operaciones de suma y resta requieren tener en cuenta los signos de los operandos. Dos representaciones para el 0.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Representacin en complemento a dos


El bit ms significativo es el del signo. Si an-1 = 0, los restantes bits representan la magnitud. Si an-1 = 1, los restantes bits son iguales al nmero positivo 2n-1+A. Los positivos van de 0 a 2n-1-1. Los negativos van de -2n-1 a -1.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Complemento a 2
As pues:

n 1

+ A = 2i ai
i =0 n2 i =0

n2

A = 2n1 + 2i ai
Generalizando:
n 1

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

A = 2 an1 + 2i ai
i =0

n2

Dec. Sig-mag 2C

Ejemplo:
2C con 8 bits:
-128 1 64 0 32 0 16 0 8 0

+7

0111 0110 0101 0100 0011 0010 0001 0000 1000 1001 1010 1011 1100 1101 1110 1111 ----

0111 0110 0101 0100 0011 0010 0001 0000 ---1111 1110 1101 1100 1011 1010 1001 1000

Con 4 bits:

+6 +5 +4 +3 +2 +1 +0 -0 -1 -2 -3

4 1

2 0

1 1

-128+4+1 = -123
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

-4 -5 -6 -7 -8

Propiedades interesantes
2i = 2i-1 + 2i-1 ( 2i + 2i-1 + 2i-2 + ... + 2j ) + 2j = 2i+1 2i + 2i-1 + 2i-2 + ... + 2j = 2i+1 - 2j

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Conversin entre longitudes


En signo-magnitud, hay que trasladar el bit de signo a la nueva posicin y rellenar con ceros los nuevos bits intermedios.
00101000 = 0000000000101000 10010001 = 1000000000010001

En 2C, hay que completar a la izquierda con el valor del bit de signo.
00101000 = 0000000000101000 10010001 = 1111111110010001
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Aritmtica con enteros

Negacin
En signomagnitud, cambiar el bit de signo. En 2C, complementar y sumar 1 (esta operacin se denomina, de hecho, complemento a dos).
Casos especiales: El 0. El ms negativo.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Suma
En signo-magnitud, hay que detectar el signo para decidir que operacin se realiza sobre las magnitudes. En 2C, se realiza la suma directamente obviando el acarreo si lo hay. Regla del desbordamiento para 2C:
Al sumar dos nmeros del mismo signo, hay desbordamiento (overflow) si el resultado cambia de signo.

Para restar, se calcula el complemento a 2 del sustraendo y se suma.


TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Ejemplos
1001 + 0101 1110 0010
001

1100 + 0100 1 0000 1010

100

0101 + 0100 1001

100

1001 + 1010 1 0011

000

- 0111
0010

- 0100
1010 Desbordamiento

+ 1001
1011

+ 1100
1 0110
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Producto de enteros sin signo


El producto de dos enteros de n bits puede tener hasta 2n bits. Es la suma de productos parciales que se definen fcilmente en binario. Esta suma se puede hacer progresivamente de forma sencilla.
1001

x 1101
1001 0000 1001 1001 1110101
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Producto de enteros sin signo

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Producto en 2C
No ocurre como en la suma, y no podemos obviar el signo y realizar un producto simple. Una solucin sera convertir los dos operandos en positivos, hacer el producto, y luego determinar el signo del resultado. Es poco eficiente.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Algoritmo de Booth (1)


Consideremos el siguiente multiplicador: Q =
00111100000110 = 21+22+28+29+210+211

Entonces P

=M*Q = M * (21+22+28+29+210+211)

= M * (-21+23-28+212) El algoritmo de Booth se basa en buscar secuencias de 1s en el multiplicador, y realizar restas y sumas al principio y final de las secuencias, respectivamente.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Algoritmo de Booth (2)

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Algoritmo de Booth (3)


Este algoritmo funciona para los nmeros en 2C. Se realiza el producto obviando el signo. El algoritmo de Booth siempre realiza menos operaciones que el algoritmo directo de multiplicacin?
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Ejemplo 1 de alg. de Booth


M = 6 = 0110, Q = 3 = 0011, -M = 1010 A Q Q-1
0000 0011 1010 0011 1101 0001 1110 1000 0100 1000 0010 0100 0001 0010 0 0 1 1 1 0 0 Inicio A=A-M Desplazamiento Desplazamiento A=A+M Desplazamiento Desplazamiento

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Ejemplo 2 de alg. de Booth


0110 1001

x 1011
11111010 0000000 000110 11010 11100010

x 1101
00000111 1111001 000111 00000 00010101

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Alg. de Booth modificado (1)


El algoritmo es similar pero se basa en analizar parejas de bits del multiplicador en lugar de bits individuales, con ello se consigue ahorrar algunas operaciones. Usa un flag para almacenar en que tipo de secuencia (de 0s o 1s) se encuentra el proceso.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Alg. de Booth modificado (2)


Q1Q0 F
00 00 01 01 10 10 11 11

Accin

0 Despl. de 2 pos. 1 Suma M, despl. de 2 pos., F=0 0 Suma M, despl. de 2 pos. 1 Suma 2M, despl. de 2 pos., F=0 0 Resta 2M, despl. de 2 pos., F=1 1 Resta M, despl. de 2 pos. 0 Resta M, despl. de 2 pos., F=1 1 Despl. de 2 pos.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Ejemplo de Booth modificado


x 00110110
(10 (01 (11 (00 0) 1) 0) 1) 1111111111110100 00000000001100 111111111010 0000000110 0000000101000100 F=1 F=0 F=1 F=0 00000110

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Divisin de enteros sin signo


01011110 0 01 010 0101 00001 11 111 0100 0101 0 00 000 0001 00010 000100 0001001 00010010

94 5 4 18

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

10

Divisin de enteros con signo

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Divisin de enteros con signo


Esta es la divisin con restauracin. Correccin final: Si el dividendo y el divisor no tienen el mismo signo, el cociente hay que cambiarlo de signo. Existe una indefinicin en el resto, en las divisiones puede haber dos restos correctos. Probar que funciona con algunos ejemplos.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Aritmtica con reales Punto flotante

11

Punto flotante
En punto fijo, la coma decimal est ubicada en un lugar predeterminado: 124 -7 En punto flotante no es as: -12.54 103 -125.4 102 Un nmero en punto flotante necesita una mantisa y un exponente. Normalizacin. Usaremos base 2, no 10.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Formato IEEE 754


Diferentes tamaos: 32 y 64 bits (simple y doble precisin). Este estndar establece criterios sobre el tamao de los campos para la mantisa y el exponente, as como la forma de representarlos, de hacer los redondeos o de escribir datos especiales.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Formato
1 bit de signo. 8 bits de exponente (11 en doble precisin). 23 bits de mantisa (52 en doble precisin). La representacin es signo-magnitud. La mantisa est siempre normalizada:
El 1 implcito no est incluido en el formato. El 0 no se puede representar.

La mantisa es un nmero en el intervalo [1,2).


TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

12

El exponente en exceso a 127 (01111111). El exponente se sita antes de la mantisa para favorecer las comparaciones.
Ejercicio: Cmo se pasa de decimal a binario y veceversa los dgitos trs el punto decimal?

Ejemplo: 7.125 111.0010 1.110010 210 0-10000001-11001000000000000000000


TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Representaciones especiales
NaN: Infinito: Cero: Denormal: exp = 11111111 man != 0 exp = 11111111 man = 0 exp = 00000000 man != 0 exp = 00000000 man != 0
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

Redondeos
Al mayor o a +infinito. Al menor o a infinito. A cero. Al ms prximo con desempate al par.

Conceptos de overflow y underflow.


TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

13

Ejercicio
Calcular todos los nmeros en punto flotante que habra con un formato extrapolado del IEEE pero con slo dos bits de mantisa y dos de exponente.

TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

SUMA
Algoritmo: Igualar exponentes, sumar mantisas, normalizar, redondear y detectar desbordamientos. Para sumar las mantisas son precisos 27 bits (aadiendo los bits de guarda, redondeo y retenedor). Ejemplo: Suma estos dos nmeros: 01000000111010000000000000000011 01000010110000000000000000000111
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

PRODUCTO
Se multiplican las mantisas y se suman los exponentes. El resultado del producto de mantisas necesita el doble de bits. Es necesario compensar el exceso a 127 en la suma de exponentes, restandole 127. El redondeo de la mantisa es inmadiato al disponer de un nmero de bits grande.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

14

Desbordamientos en el producto
Casos:
Si los bits de orden superior de los operandos son diferentes, nunca hay desbordamiento. Si los bits de orden superior son 1, puede haber overflow. Si los bits de orden superior son 0, puede haber underflow.

Podra ocurrir un desbordamiento tambin como consecuencia de la normalizacin.


TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

DIVISIN
Se dividen las mantisas y se restan los exponentes. Al exponente del resultado hay que sumarle 127. Se pueden producir overflows y underflows. Redondeo: el bit de redondeo es el p+1, y el retenedor es el or lgico del resto de la divisin.
TECNOLOXA DE COMPUTADORES Tema 2. Representacin da informacin

15

You might also like