2 Aritmetica Del Computador
-
Upload
carlos-n-valverde -
Category
Documents
-
view
61 -
download
0
Transcript of 2 Aritmetica Del Computador
Aritmetica del Computador
Universidad Nacional Mayor de San MarcosFacultad de Ingenieria Industrial
Métodos ComputacionalesMg. Hermes Pantoja Carhuavilca
46
Aritmetica delComputador
Introducción
Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Agenda
Introducción
Aritmetica del Computador
46
Aritmetica delComputador
3 Introducción
Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Sistema de Numeración
Representación de enterosBase Binaria (2)
I 2 ”bits” [0,1]I 1011 en base 2 = 1× 23 + 0× 22 + 1× 21 + 1× 20
= 8+ 0+ 2+ 1 = 11 en base decimalSea N un número entero en base β tal que:
N = (anan−1an−2 . . . a2a1a0)β =n∑
k=0ak ∗ βk
46
Aritmetica delComputador
4 Introducción
Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Sistema de Numeración
Representación de números fraccionariosx = 0.7 =
710 = 7× 10−1
x = 0.75 = 0.70+ 0.05 = 7× 10−1 + 5× 10−2
Sea x un número fraccionario en base β tal que:
x = (0.b1b2b3 . . . bn)β = b1×β−1+b2×β−2+ . . .+bn×β−n
Base decimal (10)I Potencia negativa de 10 para parte fraccionaria.I 54.32 = 5× 101 + 4 ∗ 100 + 3× 10−1 + 2× 10−2
46
Aritmetica delComputador
5 Introducción
Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Otros sistemas de numeración
I Mayor interes en decimal (10) y binario (2)Uso en computadores
I Otros sistemasoctal (8), {0, 1, 2, ..., 7}hexadecimal (16), {0, 1, 2, ..., 9,A,B,C ,D,E ,F}
46
Aritmetica delComputador
6 Introducción
Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Conversión entre bases: ejemplos
46
Aritmetica delComputador
7 Introducción
Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Conversión entre bases: ejemplos
46
Aritmetica delComputador
8 Introducción
Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
46
Aritmetica delComputador
Introducción
9 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Sistema de Punto Plotante
Definición (Sistema de Punto Flotante)Un sistema de punto flotante se especifica por la base β, ellargo de mantisa t, y límites para los exponentes de L,M.Un número de punto flotante tiene la forma
x = ±0.b1b2 . . . bt × βe
donde 0.b1b2 . . . bt es la mantisa, b1 6= 0 (para x 6= 0),0 ≤ bi ≤ β − 1 para 2 ≤ i ≤ t, y e el exponente el cualsatisface L ≤ e ≤ U. El cero se representa con mantisa ceroy exponente cero. El sistema de punto flotante se representapor
F (β, t, L,U)
46
Aritmetica delComputador
Introducción
10 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
EjemploTomando (β, t, L,U) = (10, 2,−1, 2), tenemos 90 posiblesmantisas, y 4 exponentes, i.e., −1, 0, 1, 2. Como hay dosposibles signos, tenemos un total de 2(90)(4) + 1 = 721números en el sistema.Nótese que el sistema de punto flotante es finito.El Sistema de los números reales tiene a R como un conjuntoinconmensurable porque no es posible representarlos a todos.El Sistema de Punto Flotante es un subconjunto F ⊂ R denúmeros reales.
46
Aritmetica delComputador
Introducción
11 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Definición (Cardinalidad)Cardinalidad de F (β, t, L,U):
2(β − 1)βt−1(U − L+ 1) + 1
Ejemplo¿Cúantos números tendrá el sistema F(2,3,-1,2)?
46
Aritmetica delComputador
Introducción
12 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
EjercicioDado el sistema de punto flotante F (2, 2,−1, 2)1. 0.5 ∈ F?2. 3/4 ∈ F?3. 0.5+ 3/4 ∈ F?
46
Aritmetica delComputador
Introducción
13 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Puesto que la cantidad de números a almacenar es unacantidad finita, la mayoría de números reales tendrán que seraproximados a aquellos que tienen una representación exactaen el sistema de punto flotante empleado. Esto origina lasperdidas de precisión por redondeo.
46
Aritmetica delComputador
Introducción
14 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Errores en el Computador
Los científicos que desarrollaron el cohete Ariane 5 vuelo 501reutilizaron parte del código de su predecesor, el Ariane 4,pero los motores del cohete más nuevo incorporarontambién, sin que nadie se diera cuenta, un “bug” en unarutina aritmética en la computadora de vuelo. Esto provocó,el 4 de junio de 1996, que la computadora fallara segundosdespués del despegue del cohete; 0,5 segundos más tardefalló el ordenador principal de la misión. El Ariane 5 sedesintegró 40 segundos después del lanzamiento.
46
Aritmetica delComputador
Introducción
15 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Aritmetica del Computador
Las operaciones de suma, resta, multiplicación y división enel sistema de punto flotante (F), se denota por ⊕,,⊗,�respectivamente. Estas operaciones están definidas por:x ⊕ y = fl(fl(x) + fl(y))x y = fl(fl(x)− fl(y))x ⊗ y = fl(fl(x)× fl(y))x � y = fl(fl(x)÷ fl(y)), fl(y) 6= 0, y 6= 0Estas operaciones no son cerradas sobre F, pues en algunoscasos se genera underflow u overflow;
46
Aritmetica delComputador
Introducción
16 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
EjemploDado el sistema hipotético F (10, 3,−3, 3) y los números:X = 2/30 = 0.066666 . . .Y = 5/9 = 0.55555 . . .hallar X ⊗ YSolución:Valor Exacto de X ∗ Y = 10/270 = 0.037037037 . . .fl(X ) = 0.667× 10−1
fl(Y ) = 0.556× 100
fl(X )∗fl(Y ) = 0.667×10−1 ∗0.556×100 = 0.370852×10−1
x ⊗ y = fl(fl(X ) ∗ fl(Y )) = 0.371× 10−1
Error=10−4
46
Aritmetica delComputador
Introducción
17 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Desbordamiento
Se puede producir cuando se operan dos datos y el resultadoexcede la capacidad de almacenamiento seleccionada.
Definición (Overflow)Se produce cuando el número es muy grande y se excede ellímite máximo de almacenamiento.
Definición (Underflow)Se produce cuando el número es muy prqueño y se execedeel límite mínimo de almacenamiento.
46
Aritmetica delComputador
Introducción
18 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
El Épsilon (ε) de la Máquina
DefiniciónEl épsilon de la máquina es la distancia entre 1 y el siguientenúmero máquina, se denota por eps.
46
Aritmetica delComputador
Introducción
19 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Ejercicio
Sea F el sistema de punto flotante caracterizado porβ = 2,(base), n = 4(precisión), m = −1, M = 2, cadanúmero en el conjunto F está representado por±(.d1d2 . . . , dn)ββ
e donde m ≤ e ≤ M1. Cuál es el número más pequeño 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
representación de un número real en el sistema F es porredondeo. Como queda representado el numero3/4+ 5/16 en F. esto es:
34 ⊕
516 = fl(34 +
516) =???
4. Encuentre el epsilon de la maquina.
46
Aritmetica delComputador
Introducción
20 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Ejercicio
Recordar que ”fl(expresion)” significa que todos losoperandos son convertidos a números en punto flotante ytodas las operaciones son desarolladas con la aritmética delpunto flotante. Asuma β = 10, t = 3, L = −3, U = 4, y laaritmética es truncada. Obtener los valores de:1. fl(0.00009)2. fl(3.146)3. fl(9996)4. fl((100.0+ 0.61) + 0.61) y fl(100.0+ (0.61+ 0.61))5. fl(2.34× (5.67+ 8.90)) y
fl((2.34× 5.67) + (2.34× 8.90))
46
Aritmetica delComputador
Introducción
21 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Sistema de Punto Flotante
Es el conjunto de números de punto flotante normalizados,en el sistema de números con base β con t dígitos para lafracción (equivalentemente t + 1 dígitos en la mantisa)
F (β, t, L,U) = {a = ±a0.a1a2 . . . at × βe}{∣∣∣∣∣ a < a0 < β L ≤ e ≤ U0 ≤ ai < β i = 1, 2, . . . , t
}∪
0. 00 . . . 0︸ ︷︷ ︸t veces
La cantidad de números de punto flotante, que admite elsistema numérico F (β, t, L,U) es2(β − 1)βt(U − L+ 1) + 1
46
Aritmetica delComputador
Introducción
22 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Representación de números del computador
Los computadores trabajan con aritmética real usando unsistema denominado de ”punto flotante”. Suponen unnúmero real que tiene la expansión binaria:Número Normalizado
46
Aritmetica delComputador
Introducción
23 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Notación Normalizada
46
Aritmetica delComputador
Introducción
24 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Ejemplo
46
Aritmetica delComputador
Introducción
25 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Almacenamiento de floats
Ejemplo
46
Aritmetica delComputador
Introducción
26 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Almacenamiento de floats
I Mayor número positivo 0 110 1111 = +23 × 1.1111 =23 × (2− 2−4) = 1111.1 = 15.5 decimal
I Menor número positivo0 001 0000 = +2−2 × 1.0000 = 2−2 × 20 = 0.01 ó 0.25decimal
46
Aritmetica delComputador
Introducción
27 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Almacenamiento de floats
Combinaciones especiales de los exponentes:000 Representación No Normalizada
I Mansitisa pasa a ser: 0.I Exponente(000)=-2I Menor número positivo pasa a ser
0 000 0001 = 2−2 × 0.0001 = 2−2 × 2−4 = 2−6 =0.015625
46
Aritmetica delComputador
Introducción
28 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Además de las combinaciones especiales...111 representación de infinito
I 01110000 = +InfinitoI 11110000 = −InfinitoI 11111000 =IndeterminaciónI Otras combinaciones 11111−−−=Not A Number
(NaN)
46
Aritmetica delComputador
Introducción
29 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Distribución de los datos en la recta numérica
46
Aritmetica delComputador
Introducción
30 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Distribución de Números Puntos Flotante
Los números punto flotante no son uniformente distribuidossobre el eje real, como en el caso continuo. Veamos para elsistema F (2, 2,−2, 1).
46
Aritmetica delComputador
Introducción
31 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Estándar IEEE-754
Este estándar se desarrolló para facilitar la portabilidad de losprogramas de un procesadora otro y para alentar el desarrollode programas numéricos sofisticados. Este estándar ha sidoampliamente adoptado y se utiliza prácticamente en todoslos procesadores y coprocesadores aritméticos actuales.
46
Aritmetica delComputador
Introducción
32 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Estándar IEEE-754
I El estándar del IEEE define el formato para precisiónsimple de 32 bits y para precisión doble de 64 bits.
I Hasta la década de los 90 cada computador utilizaba supropio formato en punto flotante, en 1985 se introduceel estándar IEEE-754 con la finalidad de uniformizarlos.
46
Aritmetica delComputador
Introducción
33 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Estándar IEEE-754
Precisión Simple: 32 bits
46
Aritmetica delComputador
Introducción
34 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Estándar IEEE-754
46
Aritmetica delComputador
Introducción
35 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Ejemplos:
Represente en formato IEEE 754 simple precisión el número3.25Solución:
I Convertir a binario: 3.25 = 11.01I Normalizar el número (mover el punto decimal hasta
que haya un solo 1 a la izquierda)11.01 = 1.101× (21)
I mantisa: 101I exponente:
Bias = 2(8−1) − 1 = 127exp = E + 127 −→ exp = 1+ 127 = 128 = 10000000
I El número es positivo: bit de signo 0Resultado: 01000000010100000000000000000000
46
Aritmetica delComputador
Introducción
36 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Ejemplos:
Represente en formato IEEE 754 simple precisión el número347.625Solución:
I Convertir a binario: 347.625 = 101011011.101I Normalizar el número (mover el punto decimal hasta
que haya un solo 1 a la izquierda)101011011.101 = 1.01011011101× (28)
I mantisa: 01011011101I exponente:
Bias = 2(8−1) − 1 = 127exp = E + 127 −→ exp = 8+ 127 = 135 = 10000111
I El número es positivo: bit de signo 0Resultado: 01000011101011011101000000000000
46
Aritmetica delComputador
Introducción
37 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Ejemplos:
Ejemplo¿Cuál es el valor de: 1 0111110011000000000000000000000?Solución:
I El bit de signo es 1:número negativoI El exponente exp contiene 01111100 = 124I La mantisa es 0.11000 . . . = 0.75
El valor es:
(−1)×(1+0.75)×(2(124−127)) = −1.75×(2(−3)) = −0.21875
46
Aritmetica delComputador
Introducción
38 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Notas importantes sobre el estándar IEEE 754
Como cero no es directamente representable en estándarIEEE 754, entonces dependiendo del exponente y la mantisadel número codificado, algunas representaciones tienensignificados particulares, así como se resume en la siguientetabla:
exp M Número0 < exp < Emax Cualquiera (−1)s × (1+M)× 2E−127
0 0 Cero, (−1)s × 00 6= 0 (−1)s × (0+M)× 2−126
Emax 0 Infinito, (−1)s ×∞Emax 6= 0 Not a Number,NaN
46
Aritmetica delComputador
Introducción
39 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Números especiales Normalizados
El menor número positivo normalizado: exp = 1,M = 0
1.00000000000000000000000× 21−127 = (1.0)× 2−126
El mayor número positivo normalizado:exp = 254,M = 11 . . . 1
1.11111111111111111111111× 2254−127
Cualquier número mayor que este se diceoverflow(exp = 255, M > 0), el cual indica que el resultadoes Not a Number, NaN
46
Aritmetica delComputador
Introducción
40 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Números especiales SubNormalizados
El mayor número positivo subnormalizado:exp = 0,M = 11 . . . 1
0.11111111111111111111111× 2−126
El menor número positivo subnormalizado:exp = 0,M = 00000000000000000000001
0.00000000000000000000001× 2−126
Cualquier número menor que este se dice underflow(exp = 255, M > 0).
46
Aritmetica delComputador
Introducción
41 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Estándar IEEE-754
Precisión Doble: 64 bits
Ejercicio:Vamos a considerar un hipotético computador que ennúmeros de punto flotantes están representados en unapalabra de 16-bit. Un ejemplo se muestra en la Figura 1:
Muestre la representación en punto flotante y los bits del:1. El número eps (epsilón de la maquina)2. Mayor valor positivo normalizado3. Menor valor positivo normalizado4. El número 1 y -10.3755. El infinito y NaN
46
Aritmetica delComputador
Introducción
43 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Solución
46
Aritmetica delComputador
Introducción
44 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Solución
46
Aritmetica delComputador
Introducción
45 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Ejercicio
Sea el sistema de punto flotante hipotético adecuado a lanorma IEEE-754 que usará 16 bits con la siguienteestructura:
Muestre como se almacena en binario:1. El epsilon de la maquina2. El mayor número positivo no normalizado3. El menor número positivo no normalizado4. El número -43.0000015. El -06. El -Inf
46
Aritmetica delComputador
Introducción
46 Aritmetica delComputador
Universidad Nacional Mayorde San Marcos
Facultad de IngenieriaIndustrial
Bibliografía
Richard L. Burden and J. Douglas FairesAnálisis numérico, 7a ed.Steven C. Chapra and Raymond P. CanaleMétodos numéricos para ingenieros, 5a ed.