2. Sist. Binario y Aritm. Punto Flotante

Post on 13-Dec-2014

127 views 4 download

Transcript of 2. Sist. Binario y Aritm. Punto Flotante

Sistemas Numéricos y ErroresMM2022 – Métodos NuméricosIng. Mario A. Castillo

Introducción La forma en la que los números se

almacenan y se manipulan al realizar operaciones aritméticas en computadoras es diferente a la manera en la que nosotros manipulamos los números.

Nosotros utilizamos el sistema decimal, mientras que en las computadoras los cálculos se realizan utilizando el sistema binario.

Aritmética de punto flotante Para poder entender la mayor fuente de

error involucrada en soluciones numéricas, debemos analizar la forma en la que se almacenan los números en una computadora.

Solo se puede trabajar con una cantidad finita de dígitos; para representarla se utiliza la forma de punto flotante.

El sistema binario Es un sistema de numeración, en el que

los números se representan utilizando únicamente las cifras 0 y 1.

Es el que se utiliza en las computadoras, debido a que éstas trabajan internamente con 2 niveles de voltaje.

Aritmética de punto flotante

Aritmética de punto flotante Un número de k dígitos en forma de

punto flotante base β se escribe:x = ±(.b1b2…bk)×βe

donde β, b1, …, bk son enteros tal que β≥2 y 0<bi<β-1.

(b1b2…bk) se denomina mantisa y e el exponente.

Aritmética de punto flotante Las computadoras usan el sistema

binario, β=2

Consideramos la forma binaria normalizada:

x = ±(.1b2…bk)10×2e

en donde la mantisa se representa por una secuencia de unos y ceros (notemos que b1=1)

Aritmética de punto flotante Como abreviación los dígitos binarios 0 y 1 se

denominan bits Un grupo de bits comúnmente se denomina

una palabra Consideremos una palabra de 32 bits

En el exponente el bit más significativo representa el signo del exponente

Signo (1 bit)

Exponente (7 bits)

Mantisa normalizada (24 bits)

Aritmética de punto flotante Consideremos el siguiente número

¿Cuál es su representación decimal?x = ±(.1b2…bk)10×2e

1 0000010 110100000000000000000000

Aritmética de punto flotante Escriba el número 42.78125 en la forma

binaria normalizada

Aritmética de punto flotante

El número positivo más grande en el formato binario normalizado es 263≈1018

Un resultado que sea mayor que este número se denomina overflow

Un resultado que sea menor que este número se denomina underflow

0 0111111 111111111111111111111111

Estándar IEEE para aritmética de punto flotante 32 bits (IEEE 754)

Estándar IEEE para aritmética de punto flotante 32 bits (IEEE 754) El IEEE 754 es el estándar más utilizado

para la representación de números de punto flotante en equipos de cómputo

¿Qué es la IEEE? ¿Qué otros estándares dicta la IEEE?

Estándar IEEE para aritmética de punto flotante 32 bits (IEEE 754)

El formato de precisión simple usa 32 bits y opera así:

x = (-1)s×(1.f)2×(2c-127)10

s=0 (positivos), s=1 (negativos) 8 bits de offset (c); va desde 010 hasta

25510

Estándar IEEE para aritmética de punto flotante 32 bits (IEEE 754) Finalmente, los 23 bits restantes se

usan para la mantisa (f) Notemos que solo la parte de la mantisa

denotada por f se almacena, ya que el primer bit en la mantisa siempre es 1 (= no necesita ser almacenado)

x = (-1)s×(1.f)2×(2c-127)10

Estándar IEEE para aritmética de punto flotante 32 bits (IEEE 754) Determine el formata IEEE para el

número -45.8125

El número más grande que se puede almacenar es aprox. 3×10-38

Errores

Errores Recordemos: la aritmética que usan las

computadoras y calculadoras es diferente a la que nosotros usamos.

En el “mundo matemático tradicional” permitimos que existan infinitas cifras.

Errores El único número positivo que al

multiplicarse por sí mismo da 3. En el “mundo de las computadoras”

cada número tiene una cantidad finita y fija de cifras.

Solo los números racionales pueden representarse exactamente.

Errores Nuestro ejemplo no es un número

racional; la computadora nos dará una representación aproximada, cuyo cuadrado no es 3 aunque sí lo bastante cercano para aceptarlo.

Es por esta razón que los errores de redondeo surgen al utilizar una calculadora o computadora.

Este error es inevitable.

Errores Consideremos el siguiente número de

máquina:0 1000010 101100110000010000000000 = 179.015625

Consideremos el siguiente más grande:0 1000010 101100110000010000000001 = 179.0156402587

Finalmente, el siguiente más pequeño:0 1000010 101100110000001111111111 = 179.0156097412

¿Qué podemos decir de esto?

Errores Existen básicamente 2 tipos de errores:

Errores de truncamiento Resultan de representar aproximadamente

un procedimiento matemático exacto. Errores de redondeo

Se producen cuando los números tienen un límite de cifras significativas.