Aula 9 - Lineu FS Mialaret
Download
Report
Transcript Aula 9 - Lineu FS Mialaret
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
Cálculo Numérico – CN
Prof. Lineu Mialaret
Aula 9: Noções Básicas sobre Erros (3)
Cálculo Numérico
Aula 9 - 1/28
©Prof. Lineu Mialaret
Erros de Representação
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.
Cálculo Numérico
Aula 9 - 2/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (1)
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.
Cálculo Numérico
Aula 9 - 3/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (2)
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; e
exp é o expoente da base.
Cálculo Numérico
Aula 9 - 4/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (3)
Neste sistema de ponto flutuante, as seguintes condições
devem ser verificadas,
Onde:
n é o número máximo de dígitos da mantissa; e
d1,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,
Cálculo Numérico
Aula 9 - 5/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (4)
O expoente exp varia da seguinte maneira,
onde:
expmín 0;
expmáx 1; e
e 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.
Cálculo Numérico
Aula 9 - 6/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (5)
Uma máquina digital (que opera em base 2) armazena
um
número
internamente
esquematizada a seguir,
Cálculo Numérico
Aula 9 - 7/28
da
seguinte
forma
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (6)
b
n
Parâmetros de aritméticas de ponto flutuante utilizadas em alguns computadores digitais.
Cálculo Numérico
Aula 9 - 8/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (7)
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:
Cálculo Numérico
Aula 9 - 9/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (8)
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 é,
Cálculo Numérico
Aula 9 - 10/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (9)
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 é,
Cálculo Numérico
Aula 9 - 11/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (10)
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,
Cálculo Numérico
Aula 9 - 12/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (11)
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,
Cálculo Numérico
Aula 9 - 13/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (12)
Exercício 1: Para o SPF anterior, qual é a quantidade de
reais positivos exatamente representáveis?
Cálculo Numérico
Aula 9 - 14/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (13)
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,
Cálculo Numérico
Aula 9 - 15/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (14)
Exercício 1: Para o SPF anterior, qual é a quantidade de
reais positivos exatamente representáveis?
Cálculo Numérico
Aula 9 - 16/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (15)
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 é,
Cálculo Numérico
Aula 9 - 17/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (16)
Erro de Underflow, se a tentativa de representação
satisfizer,
Erro de Overflow, se a tentativa de representação
satisfizer,
Lembrar que
Cálculo Numérico
Aula 9 - 18/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (17)
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,
Cálculo Numérico
Aula 9 - 19/28
©Prof. Lineu Mialaret
Ponto Flutuante Normalizado (18)
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.
Cálculo Numérico
Aula 9 - 20/28
©Prof. Lineu Mialaret
Erros na Representação dos Números (1)
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)
Cálculo Numérico
Aula 9 - 21/28
©Prof. Lineu Mialaret
Erros na Representação dos Números (2)
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.
Cálculo Numérico
Aula 9 - 22/28
©Prof. Lineu Mialaret
Erros na Representação dos Números (3)
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.
Cálculo Numérico
Aula 9 - 23/28
©Prof. Lineu Mialaret
Erros na Representação dos Números (4)
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.
Cálculo Numérico
Aula 9 - 24/28
©Prof. Lineu Mialaret
Erros na Representação dos Números (5)
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,
Cálculo Numérico
Aula 9 - 25/28
©Prof. Lineu Mialaret
Erros na Representação dos Números (6)
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.
Cálculo Numérico
Aula 9 - 26/28
©Prof. Lineu Mialaret
Erros na Representação dos Números (7)
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.
Cálculo Numérico
Aula 9 - 27/28
©Prof. Lineu Mialaret
Erros na Representação dos Números (8)
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,
Cálculo Numérico
Aula 9 - 28/28
©Prof. Lineu Mialaret