Download - 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.