Está en la página 1de 46

Aritmetica del Computador

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Mtodos Computacionales Mg. Hermes Pantoja Carhuavilca

Agenda
Aritmetica del Computador

Introduccin Aritmetica del Computador

Introduccin

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Sistema de Numeracin
Aritmetica del Computador

Introduccin Aritmetica del Computador

Representacin de enteros Base Binaria (2) 2 bits [0,1] 1011 en base 2 = 1 23 + 0 22 + 1 21 + 1 20 = 8 + 0 + 2 + 1 = 11 en base decimal Sea N un nmero entero en base tal que:
n

N = (an an1 an2 . . . a2 a1 a0 ) =


k=0

ak k

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Sistema de Numeracin
Aritmetica del Computador

Representacin de nmeros fraccionarios 7 x = 0.7 = = 7 101 10 x = 0.75 = 0.70 + 0.05 = 7 101 + 5 102 Sea x un nmero fraccionario en base tal que: x = (0.b1 b2 b3 . . . bn ) = b1 1 +b2 2 +. . .+bn n Base decimal (10) Potencia negativa de 10 para parte fraccionaria. 54.32 = 5 101 + 4 100 + 3 101 + 2 102

Introduccin Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Otros sistemas de numeracin


Aritmetica del Computador

Introduccin Aritmetica del Computador

Mayor interes en decimal (10) y binario (2) Uso en computadores Otros sistemas octal (8), {0, 1, 2, ..., 7} hexadecimal (16), {0, 1, 2, ..., 9, A, B, C , D, E , F }

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Conversin entre bases: ejemplos


Aritmetica del Computador

Introduccin Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Conversin entre bases: ejemplos


Aritmetica del Computador

Introduccin Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Aritmetica del Computador

Introduccin Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Sistema de Punto Plotante


Aritmetica del Computador

Denicin (Sistema de Punto Flotante)


Un sistema de punto otante se especica por la base , el largo de mantisa t, y lmites para los exponentes de L, M. Un nmero de punto otante tiene la forma x = 0.b1 b2 . . . bt e donde 0.b1 b2 . . . bt es la mantisa, b1 = 0 (para x = 0), 0 bi 1 para 2 i t, y e el exponente el cual satisface L e U. El cero se representa con mantisa cero y exponente cero. El sistema de punto otante se representa por F (, t, L, U)
46 9

Introduccin Aritmetica del Computador

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Ejemplo
Tomando (, t, L, U) = (10, 2, 1, 2), tenemos 90 posibles mantisas, y 4 exponentes, i.e., 1, 0, 1, 2. Como hay dos posibles signos, tenemos un total de 2(90)(4) + 1 = 721 nmeros en el sistema. Ntese que el sistema de punto otante es nito. El Sistema de los nmeros reales tiene a R como un conjunto inconmensurable porque no es posible representarlos a todos. El Sistema de Punto Flotante es un subconjunto F R de nmeros reales.
10

Aritmetica del Computador

Introduccin Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Aritmetica del Computador

Denicin (Cardinalidad)
Cardinalidad de F (, t, L, U): 2( 1) t1 (U L + 1) + 1
11

Introduccin Aritmetica del Computador

Ejemplo
Cantos nmeros tendr el sistema F(2,3,-1,2)?

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Aritmetica del Computador

Ejercicio
Dado el sistema de punto otante F (2, 2, 1, 2) 1. 0.5 F ? 2. 3/4 F ? 3. 0.5 + 3/4 F ?

Introduccin
12

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Aritmetica del Computador

Introduccin

Puesto que la cantidad de nmeros a almacenar es una cantidad nita, la mayora de nmeros reales tendrn que ser aproximados a aquellos que tienen una representacin exacta en el sistema de punto otante empleado. Esto origina las perdidas de precisin por redondeo.

13

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Errores en el Computador
Los cientcos que desarrollaron el cohete Ariane 5 vuelo 501 reutilizaron parte del cdigo de su predecesor, el Ariane 4, pero los motores del cohete ms nuevo incorporaron tambin, sin que nadie se diera cuenta, un bug en una rutina aritmtica en la computadora de vuelo. Esto provoc, el 4 de junio de 1996, que la computadora fallara segundos despus del despegue del cohete; 0,5 segundos ms tarde fall el ordenador principal de la misin. El Ariane 5 se desintegr 40 segundos despus del lanzamiento.
Aritmetica del Computador

Introduccin
14

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Aritmetica del Computador


Aritmetica del Computador

Introduccin

Las operaciones de suma, resta, multiplicacin y divisin en el sistema de punto otante (F), se denota por , , , respectivamente. Estas operaciones estn denidas por: x y = ((x ) + (y )) x y = ((x ) (y )) x y = ((x ) (y )) x y = ((x ) (y )), (y ) = 0, y = 0 Estas operaciones no son cerradas sobre F, pues en algunos casos se genera underow u overow;

15

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Ejemplo
Dado el sistema hipottico F (10, 3, 3, 3) y los nmeros: X = 2/30 = 0.066666 . . . Y = 5/9 = 0.55555 . . . hallar X Y Solucin: Valor Exacto de X Y = 10/270 = 0.037037037 . . . (X ) = 0.667 101 (Y ) = 0.556 100 (X ) (Y ) = 0.667 101 0.556 100 = 0.370852 101 x y = ((X ) (Y )) = 0.371 101 Error=104

Aritmetica del Computador

Introduccin
16

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Desbordamiento
Aritmetica del Computador

Introduccin

Se puede producir cuando se operan dos datos y el resultado excede la capacidad de almacenamiento seleccionada.

17

Aritmetica del Computador

Denicin (Overow)
Se produce cuando el nmero es muy grande y se excede el lmite mximo de almacenamiento.

Denicin (Underow)
Se produce cuando el nmero es muy prqueo y se execede el lmite mnimo de almacenamiento.

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

El psilon ( ) de la Mquina
Aritmetica del Computador

Introduccin
18

Aritmetica del Computador

Denicin
El psilon de la mquina es la distancia entre 1 y el siguiente nmero mquina, se denota por eps.

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Ejercicio
Sea F el sistema de punto otante caracterizado por = 2,(base), n = 4(precisin), m = 1, M = 2, cada nmero en el conjunto F est representado por (.d1 d2 . . . , dn ) e donde m e M 1. Cul es el nmero ms pequeo en valor absoluto del sistema F? 2. Demuestre que 3/4 y 5/6 pertenecen al sistema F, pero la suma "verdadera" de estos no pertenece a F. 3. Suponga que el tipo de error introducido en la representacin de un nmero real en el sistema F es por redondeo. Como queda representado el numero 3/4 + 5/16 en F. esto es: 5 3 5 3 = ( + ) =??? 4 16 4 16 4. Encuentre el epsilon de la maquina.
Aritmetica del Computador

Introduccin
19

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Ejercicio
Aritmetica del Computador

Recordar que (expresion) signica que todos los operandos son convertidos a nmeros en punto otante y todas las operaciones son desarolladas con la aritmtica del punto otante. Asuma = 10, t = 3, L = 3, U = 4, y la aritmtica es truncada. Obtener los valores de: 1. (0.00009) 2. (3.146) 3. (9996) 4. ((100.0 + 0.61) + 0.61) y (100.0 + (0.61 + 0.61)) 5. (2.34 (5.67 + 8.90)) y ((2.34 5.67) + (2.34 8.90))

Introduccin
20

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Sistema de Punto Flotante


Aritmetica del Computador

Es el conjunto de nmeros de punto otante normalizados, en el sistema de nmeros con base con t dgitos para la fraccin (equivalentemente t + 1 dgitos en la mantisa) F (, t, L, U) = {a = a0 .a1 a2 . . . at e } a < a0 < L e U 0 ai < i = 1, 2, . . . , t

Introduccin
21

Aritmetica del Computador

0. 00 . . . 0
t veces

La cantidad de nmeros de punto otante, que admite el sistema numrico F (, t, L, U) es 2( 1) t (U L + 1) + 1


Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

46

Representacin de nmeros del computador


Los computadores trabajan con aritmtica real usando un sistema denominado de punto otante. Suponen un nmero real que tiene la expansin binaria: Nmero Normalizado
Aritmetica del Computador

Introduccin
22

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Notacin Normalizada
Aritmetica del Computador

Introduccin
23

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Ejemplo
Aritmetica del Computador

Introduccin
24

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Almacenamiento de oats
Aritmetica del Computador

Ejemplo
Introduccin
25

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Almacenamiento de oats
Aritmetica del Computador

Introduccin
26

Aritmetica del Computador

Mayor nmero positivo 0 110 1111 = +23 1.1111 = 23 (2 24 ) = 1111.1 = 15.5 decimal Menor nmero positivo 0 001 0000 = +22 1.0000 = 22 20 = 0.01 0.25 decimal

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Almacenamiento de oats
Aritmetica del Computador

Introduccin
27

Combinaciones especiales de los exponentes: 000 Representacin No Normalizada Mansitisa pasa a ser: 0. Exponente(000)=-2 Menor nmero positivo pasa a ser 0 000 0001 = 22 0.0001 = 22 24 = 26 = 0.015625

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Aritmetica del Computador

Adems de las combinaciones especiales... 111 representacin de innito


28

Introduccin Aritmetica del Computador

01110000 = +Innito 11110000 = Innito 11111000 =Indeterminacin Otras combinaciones 11111 =Not A Number (NaN)

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Distribucin de los datos en la recta numrica


Aritmetica del Computador

Introduccin
29

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Distribucin de Nmeros Puntos Flotante


Los nmeros punto otante no son uniformente distribuidos sobre el eje real, como en el caso continuo. Veamos para el sistema F (2, 2, 2, 1).
30

Aritmetica del Computador

Introduccin Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Estndar IEEE-754
Aritmetica del Computador

Introduccin
31

Aritmetica del Computador

Este estndar se desarroll para facilitar la portabilidad de los programas de un procesadora otro y para alentar el desarrollo de programas numricos sosticados. Este estndar ha sido ampliamente adoptado y se utiliza prcticamente en todos los procesadores y coprocesadores aritmticos actuales.

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Estndar IEEE-754
Aritmetica del Computador

Introduccin
32

Aritmetica del Computador

El estndar del IEEE dene el formato para precisin simple de 32 bits y para precisin doble de 64 bits. Hasta la dcada de los 90 cada computador utilizaba su propio formato en punto otante, en 1985 se introduce el estndar IEEE-754 con la nalidad de uniformizarlos.

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Estndar IEEE-754
Aritmetica del Computador

Precisin Simple: 32 bits


33

Introduccin Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Estndar IEEE-754
Aritmetica del Computador

Introduccin
34

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Ejemplos:
Aritmetica del Computador

Represente en formato IEEE 754 simple precisin el nmero 3.25 Solucin: Convertir a binario: 3.25 = 11.01 Normalizar el nmero (mover el punto decimal hasta que haya un solo 1 a la izquierda) 11.01 = 1.101 (21 ) mantisa: 101 exponente: Bias = 2(81) 1 = 127 exp = E + 127 exp = 1 + 127 = 128 = 10000000 El nmero es positivo: bit de signo 0 Resultado: 01000000010100000000000000000000

Introduccin
35

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Ejemplos:
Aritmetica del Computador

Represente en formato IEEE 754 simple precisin el nmero 347.625 Solucin: Convertir a binario: 347.625 = 101011011.101 Normalizar el nmero (mover el punto decimal hasta que haya un solo 1 a la izquierda) 101011011.101 = 1.01011011101 (28 ) mantisa: 01011011101 exponente: Bias = 2(81) 1 = 127 exp = E + 127 exp = 8 + 127 = 135 = 10000111 El nmero es positivo: bit de signo 0 Resultado: 01000011101011011101000000000000

Introduccin
36

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Ejemplos:
Aritmetica del Computador

Ejemplo
37

Introduccin Aritmetica del Computador

Cul es el valor de: 1 01111100 11000000000000000000000? Solucin: El bit de signo es 1:nmero negativo El exponente exp contiene 01111100 = 124 La mantisa es 0.11000 . . . = 0.75 El valor es: (1)(1+0.75)(2(124127) ) = 1.75(2(3) ) = 0.21875

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Notas importantes sobre el estndar IEEE 754


Aritmetica del Computador

Como cero no es directamente representable en estndar IEEE 754, entonces dependiendo del exponente y la mantisa del nmero codicado, algunas representaciones tienen signicados particulares, as como se resume en la siguiente tabla: exp M Nmero s (1 + M) 2E 127 0 < exp < Emax Cualquiera (1) 0 0 Cero, (1)s 0 0 =0 (1)s (0 + M) 2126 Emax 0 Innito, (1)s Emax =0 Not a Number, NaN

Introduccin
38

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Nmeros especiales Normalizados


Aritmetica del Computador

El menor nmero positivo normalizado: exp = 1, M = 0


39

Introduccin Aritmetica del Computador

1.00000000000000000000000 21127 = (1.0) 2126 El mayor nmero positivo normalizado: exp = 254, M = 11 . . . 1 1.11111111111111111111111 2254127 Cualquier nmero mayor que este se dice overow(exp = 255, M > 0), el cual indica que el resultado es Not a Number, NaN

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Nmeros especiales SubNormalizados


Aritmetica del Computador

El mayor nmero positivo subnormalizado: exp = 0, M = 11 . . . 1 0.11111111111111111111111 2126 El menor nmero positivo subnormalizado: exp = 0, M = 00000000000000000000001 0.00000000000000000000001 2126 Cualquier nmero menor que este se dice underow (exp = 255, M > 0).

Introduccin
40

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Estndar IEEE-754
Precisin Doble: 64 bits
41

Aritmetica del Computador

Introduccin Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Ejercicio: Vamos a considerar un hipottico computador que en nmeros de punto otantes estn representados en una palabra de 16-bit. Un ejemplo se muestra en la Figura 1:

Muestre la representacin en punto otante y los bits del: 1. El nmero eps (epsiln de la maquina) 2. Mayor valor positivo normalizado 3. Menor valor positivo normalizado 4. El nmero 1 y -10.375 5. El innito y NaN

Solucin
Aritmetica del Computador

Introduccin
43

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Solucin
Aritmetica del Computador

Introduccin
44

Aritmetica del Computador

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Ejercicio
Aritmetica del Computador

Sea el sistema de punto otante hipottico adecuado a la norma IEEE-754 que usar 16 bits con la siguiente estructura:

Introduccin
45

Aritmetica del Computador

Muestre como se almacena en binario: 1. El epsilon de la maquina 2. El mayor nmero positivo no normalizado 3. El menor nmero positivo no normalizado 4. El nmero -43.000001 5. El -0 6. El -Inf
46 Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial

Bibliografa
Aritmetica del Computador

Introduccin
46

Aritmetica del Computador

Richard L. Burden and J. Douglas Faires Anlisis numrico, 7a ed. Steven C. Chapra and Raymond P. Canale Mtodos numricos para ingenieros, 5a ed.

46

Universidad Nacional Mayor de San Marcos Facultad de Ingenieria Industrial