Post on 03-Jan-2016
description
©Prof. Lineu MialaretAula 9 - 1/28Cálculo Numérico
Cálculo Numérico – CN Prof. Lineu Mialaret
Aula 9: Noções Básicas sobre Erros (3)
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP
Campus de Caraguatatuba
Licenciatura em Matemática
10 Semestre de 2013
©Prof. Lineu MialaretAula 9 - 2/28Cálculo Numérico
Na construção de um equipamento computacional, uma questão importante a ser considerada em sua arquitetura é a forma que será adotada para representar os dados numéricos.
Basicamente, na memória de um equipamento, cada número é armazenado em uma posição que consiste de um sinal que identifica se o número é positivo ou negativo e um número fixo e limitado de dígitos significativos.
Erros de Representação
©Prof. Lineu MialaretAula 9 - 3/28Cálculo Numérico
Nas maquinas digitais, um digito binário é denominado BIT (do inglês, binary digit).
Um grupo de oito bits corresponde a 1 byte. Dessa forma, percebe-se que a representação dos números binários num computador é feita com um número finito de bits.
A esse tamanho finito de bits é dado o nome palavra de computador. O tamanho da palavra do computador depende de
características internas à arquitetura do mesmo. Em geral, os microcomputadores padrão PC têm tamanho
de palavra de 16 e 32 bits. Computadores modernos tem palavras de 64 bits ou mais.
Quanto maior o tamanho da palavra do computador mais veloz e mais preciso será o computador.
Ponto Flutuante Normalizado (1)
©Prof. Lineu MialaretAula 9 - 4/28Cálculo Numérico
Um número no sistema de ponto flutuante é caracterizado por uma base b, um número de dígitos significativos n e um expoente exp.
Diz-se que um número real nr está representado no sistema de ponto flutuante se for possível escrevê-lo da seguinte maneira:
Onde:m é a mantissa do número;b 2 é a base do número; eexp é o expoente da base.
Ponto Flutuante Normalizado (2)
©Prof. Lineu MialaretAula 9 - 5/28Cálculo Numérico
Neste sistema de ponto flutuante, as seguintes condições devem ser verificadas,
Onde:n é o número máximo de dígitos da mantissa; ed1,d2,...,dn são os dígitos significativos da mantissa do
sistema de representação, com o primeiro dígito satisfazendo a condição
E os demais dígitos satisfazem a condição a seguir,
Ponto Flutuante Normalizado (3)
©Prof. Lineu MialaretAula 9 - 6/28Cálculo Numérico
O expoente exp varia da seguinte maneira,
onde:expmín 0;expmáx 1; ee os expoentes são inteiros.
Exemplo 1: Seja x = 34,2 e seja b = 10 e n = 4.Logo, x = 0,3420 × 102.
Exemplo 2: Seja x = 0,1 e seja b = 2 e n = 9.Logo, x = 0,110011001 × 2-3.
Ponto Flutuante Normalizado (4)
©Prof. Lineu MialaretAula 9 - 7/28Cálculo Numérico
Uma máquina digital (que opera em base 2) armazena um número internamente da seguinte forma esquematizada a seguir,
Ponto Flutuante Normalizado (5)
©Prof. Lineu MialaretAula 9 - 8/28Cálculo Numérico
Ponto Flutuante Normalizado (6)
b n
Parâmetros de aritméticas de ponto flutuante utilizadas em alguns computadores digitais.
©Prof. Lineu MialaretAula 9 - 9/28Cálculo Numérico
A união de todos os números em ponto flutuante, juntamente com a representação do zero, constitui o denominado Sistema de Ponto Flutuante Normalizado (SPF), que se indica por
No SPF o zero é representado da seguinte maneira:
Ponto Flutuante Normalizado (7)
©Prof. Lineu MialaretAula 9 - 10/28Cálculo Numérico
Dado um SPF na forma genérica abaixo,
O menor positivo exatamente representável, não nulo, é o real formado pela menor mantissa multiplicada pela base elevada ao menor expoente, isto é,
O maior positivo exatamente representável é o real formado pela maior mantissa multiplicada pela base elevada ao maior expoente, isto é,
Ponto Flutuante Normalizado (8)
©Prof. Lineu MialaretAula 9 - 11/28Cálculo Numérico
O número máximo de mantissas positivas possíveis é dado por,
O número máximo de expoentes possíveis é dado por,
O número de elementos positivos representáveis é dado pelo produto entre o número máximo de mantissas pelo máximo de expoentes, isto é,
Ponto Flutuante Normalizado (9)
©Prof. Lineu MialaretAula 9 - 12/28Cálculo Numérico
Considerando-se que dado um número real nr SPF tem-se que −nr SPF e a representação do zero também, pode-se concluir que o número total de elementos exatamente representáveis NRt é dado por,
Ponto Flutuante Normalizado (10)
©Prof. Lineu MialaretAula 9 - 13/28Cálculo Numérico
Exemplo 3: Considere o sistema de ponto flutuante SPF (b, n, expmín, expmáx) = SPF (3, 2, – 1, 2), isto é, de base 3, 2 dígitos na mantissa, menor expoente igual a –1 e maior expoente 2. Para este sistema tem-se que, a) O menor número exatamente representável,
b) O maior número exatamente representável,
Ponto Flutuante Normalizado (11)
©Prof. Lineu MialaretAula 9 - 14/28Cálculo Numérico
Exercício 1: Para o SPF anterior, qual é a quantidade de reais positivos exatamente representáveis?
Ponto Flutuante Normalizado (12)
©Prof. Lineu MialaretAula 9 - 15/28Cálculo Numérico
Exercício 1: Para o SPF anterior, qual é a quantidade de reais positivos exatamente representáveis?Tem-se que a quantidade de reais positivos exatamente
representáveis é dada pelo produto entre todas as mantissas possíveis de dois dígitos, formadas com os dígitos da base 3, isto é, 0,10; 0,11; 0,12; 0,20; 0,21; 0,22; e todas as possibilidades de expoentes, que no caso são
1, 0, 1, 2. Desta forma, os 24 positivos exatamente representáveis
estão listados a seguir,
Ponto Flutuante Normalizado (13)
©Prof. Lineu MialaretAula 9 - 16/28Cálculo Numérico
Exercício 1: Para o SPF anterior, qual é a quantidade de reais positivos exatamente representáveis?
Ponto Flutuante Normalizado (14)
©Prof. Lineu MialaretAula 9 - 17/28Cálculo Numérico
Considerando-se o exemplo anterior, sabe-se que se um real x ∈ SPF, então -x ∈ SPF e, como no sistema de ponto flutuante normalizado o zero é uma representação, tem-se que os números reais representáveis de SPF pertencem ao conjunto a seguir,
Todos os reais que não pertencem à união dos intervalos anteriores não são representáveis e qualquer tentativa de representação fora dos intervalos anteriores constitui-se em uma mensagem de erro, isto é,
Ponto Flutuante Normalizado (15)
©Prof. Lineu MialaretAula 9 - 18/28Cálculo Numérico
Erro de Underflow, se a tentativa de representação satisfizer,
Erro de Overflow, se a tentativa de representação satisfizer,
Lembrar que
Ponto Flutuante Normalizado (16)
©Prof. Lineu MialaretAula 9 - 19/28Cálculo Numérico
Exemplo 4: Considere o sistema de ponto flutuante SPF (b, n, emín, emáx) = SPF (2, 2, – 1, 2), isto é, de base 2, 2 dígitos na mantissa, menor expoente igual a –1 e maior expoente 2. Para este sistema tem-se que, Os números serão
Convertendo para decimal, tem-se
Com isso, os únicos números positivos representáveis nesse computador são,
Ponto Flutuante Normalizado (17)
©Prof. Lineu MialaretAula 9 - 20/28Cálculo Numérico
Ou seja, tem-se os números 1/4,1/2,1,2,3/8,3/4,3/2 e 3, representados na reta numerada abaixo,
Alem desses números, os seus respectivos números negativos e o numero zero também serão representados.
E o número total de elementos é 17.
Obs.: O conjunto dos números de ponto flutuante é discreto, e não
contínuo como os números reais. Não se tem mais o conceito que entre dois números sempre existe um outro. Esse fato pode ter consequência desastrosa.
Ponto Flutuante Normalizado (18)
©Prof. Lineu MialaretAula 9 - 21/28Cálculo Numérico
O conjunto dos números reais é infinito, entretanto, a sua representação em um sistema de ponto flutuante é limitada, pois é um sistema finito.
Essa limitação tem duas origens: A faixa dos expoentes é limitada (expmín exp expmáx); A mantissa representa um número finito de números
(bn-1 m bn-1)
Erros na Representação dos Números (1)
©Prof. Lineu MialaretAula 9 - 22/28Cálculo Numérico
Relembrando, sempre que uma operação aritmética produz um número com expoente superior ao expoente máximo, tem-se o fenômeno de Overflow. De forma similar, operações que resultem em expoente inferior ao expoente mínimo tem-se o fenômeno de Underflow.
Exemplo 5: Considerando o Exemplo 4 já apresentado, pode-se observar na figura abaixo quais as regiões que ocorrem overflow e underflow.
Erros na Representação dos Números (2)
©Prof. Lineu MialaretAula 9 - 23/28Cálculo Numérico
Exemplo 6: Considere o sistema de ponto flutuante SPF (b, n, emín, emáx) = SPF (10, 2, - 5, 5), isto é, de base 10, 2 dígitos na mantissa, menor expoente igual a -5 e maior expoente 5. Sejam x = 875 e y = 3172, e deseja-se calcular x × y. Primeiro, deve-se arredondar os números e armazena-los
no formato indicado. A operação de multiplicação é efetuada usando 2n dígitos.
x = 0,88 × 103, y =0,32 x 104 e x × y = 0,2816 x 107
Como o expoente é maior que 5, resulta em overflow.
Erros na Representação dos Números (3)
©Prof. Lineu MialaretAula 9 - 24/28Cálculo Numérico
Exemplo 7: Considere o sistema de ponto flutuante SPF (b, n, emín, emáx) = SPF (10, 2, - 5, 5), isto é, de base 10, 2 dígitos na mantissa, menor expoente igual a -5 e maior expoente 5. Sejam x = 0,0064 e y = 7312, e deseja-se calcular x ÷ y. Primeiro, deve-se arredondar os números e armazena-los
no formato indicado. A operação de divisão é efetuada usando 2n dígitos.
x = 0,64 × 10-2, y =0,73 x 104 e x÷y = 0,8767 x 10-6
O resultado dessa operação resultou em um valor menor que o computador pode armazenar, ou seja, resulta em underflow.
Erros na Representação dos Números (4)
©Prof. Lineu MialaretAula 9 - 25/28Cálculo Numérico
Exemplo 8: Seja um computador que opere com apenas 6 dígitos na mantissa, ou seja, que só possa armazenar números no formato nr = ± 0,d1d2d3d4d5d6 × 10exp.Como armazenar nessa máquina o número que se segue,
Como o número (0,11)10 que não tem representação binária finita, tem-se neste caso,
Erros na Representação dos Números (5)
©Prof. Lineu MialaretAula 9 - 26/28Cálculo Numérico
Exemplo 9: Seja a representação binária de 0,6 e 0,7, conforme apresentada a seguir,
Se esses dois números forem representados no sistema de ponto flutuante SPF (2, 2, -1, 2), eles serão representados igualmente por 0,10 × 20.
Esse número equivale a 0,5 em decimal. Portanto, tanto o 0,6 quanto o 0,7 serão considerados 0,5.
Erros na Representação dos Números (6)
©Prof. Lineu MialaretAula 9 - 27/28Cálculo Numérico
Exercício 2: Sejam x = 5/3, y = 7/27 e z =8/9, e o sistema de ponto flutuante normalizado SPF (3, 2, –1, 2). Calcular x+(y+z) e (x+y)+z.
Erros na Representação dos Números (7)
©Prof. Lineu MialaretAula 9 - 28/28Cálculo Numérico
Exercício 2: Sejam x = 5/3, y = 7/27 e z =8/9, e o sistema de ponto flutuante normalizado SPF (3, 2, –1, 2). Calcular x+(y+z) e (x+y)+z.
Tem-se então que,
Logo,
Erros na Representação dos Números (8)