Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

CÁLCULO NUMÉRICO
Sistemas de Ponto Flutuante
Prof. Dr. Thadeu Alves Senne
ICT - UNIFESP
senne@unifesp.br
Thadeu Alves Senne CÁLCULO NUMÉRICO 1 / 16
Motivação
Considere a soma
30000∑
i=1
0.11 .
Uma vez que o número 0.11 é somado 30000 vezes, sabemos que o
resultado exato desta soma é igual a
30000× 0.11 = 3300 .
Entretanto, no meu computador, o resultado obtido para esta soma,
efetuada termo a termo, foi
30000∑
i=1
0.11 = 3300.000000000629 !!!
Por que o meu computador errou ao fazer esta conta???
Thadeu Alves Senne CÁLCULO NUMÉRICO 2 / 16
Estamos habituados a trabalhar com o sistema de numeração na base
10, constitúıda pelos algarismos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 .
Já os computadores trabalham com o sistema de numeração na base
2, composta apenas pelos algarismos 0 e 1 .
Os computadores são capazes de armazenar apenas uma quantidade
finita de d́ıgitos.
Um número pode ter uma representação finita na base 10, mas pode
ter uma representação infinita na base 2.
Thadeu Alves Senne CÁLCULO NUMÉRICO 3 / 16
Entrada Processamento Sáıda
=⇒ =⇒
Base 10 Base 2 Base 10
Thadeu Alves Senne CÁLCULO NUMÉRICO 4 / 16
Representação numérica em um sistema de ponto flutuante
Em um computador, dado um número real x qualquer, sua representação
numérica em um sistema de ponto flutuante é definida por
fl(x) = ± 0. d1d2 . . . dn︸ ︷︷ ︸
mantissa
×βe ,
em que:
β é a base em que o computador opera
n é o número de d́ıgitos na mantissa, ou seja,
0 ≤ dj ≤ β − 1 , j = 1, . . . , n , com d1 ̸= 0
e é o expoente, que é um número inteiro pertencente a um intervalo
[emin, emax ] , com emin ≤ 0 e emax ≥ 1 .
Um sistema de ponto flutuante é denotado por F (β, n, emin, emax) .
Thadeu Alves Senne CÁLCULO NUMÉRICO 5 / 16
IMPORTANTE: A condição d1 ̸= 0 é imposta para garantir a
unicidade da representação de um número diferente de 0 em ponto
flutuante (veremos em breve como representar o número 0 de forma
única).
Sem a condição d1 ̸= 0, temos infinitas representações de um mesmo
número diferente de 0. Por exemplo:
0.0340 = 0.3400× 10−1 = 0.0340× 100 = 0.0034× 101 = · · ·
Uma vez que os números em um computador são representados
utilizando uma quantidade finita de d́ıgitos, apenas um subconjunto
dos números reais pode ser representado de maneira exata.
Desta forma, em um computador, a representação de um número real
é realizada por meio do truncamento ou do arredondamento.
Thadeu Alves Senne CÁLCULO NUMÉRICO 6 / 16
Exemplo
Considere um computador que opera no sistema de ponto flutuante
F (10, 3, −5, 5) , com arredondamento.
Neste caso, note que β = 10 , n = 3 , emin = −5 , emax = 5 .
(a) Qual é a representação geral de um número real neste sistema de
ponto flutuante?
fl(x) = ± 0.d1d2d3 × 10e ,
com 0 ≤ di ≤ 9 (i = 1, 2, 3) , d1 ̸= 0 , e ∈ [−5, 5] .
(b) Qual é o menor número em valor absoluto que pode ser
representado neste computador?
m = 0.100× 10−5 .
(c) Qual é o maior número em valor absoluto que pode ser
representado neste computador?
M = 0.999× 105 .
Thadeu Alves Senne CÁLCULO NUMÉRICO 7 / 16
Exemplo
Considere um computador que opera no sistema de ponto flutuante
F (10, 3, −5, 5) , com arredondamento.
(d) Considere os números x = 235.89 , y = 0.0000000345 e
z = −875000000 , e sejam os números m e M os números encontrados
nos itens (b) e (c), respectivamente. Verifique se estes números podem ser
representados no sistema de ponto flutuante em questão.
Note que x = 235.89 = 0.23589× 103 . Como o sistema de ponto
flutuante considerado permite apenas 3 d́ıgitos na mantissa, devemos
aplicar o arredondamento, de modo que encontramos
x̂ = 0.236× 103 . Uma vez que m ≤ |x̂ | ≤ M , conclúımos que o
número x em questão pode ser representado neste sistema de ponto
flutuante pelo número x̂ .
Thadeu Alves Senne CÁLCULO NUMÉRICO 8 / 16
Exemplo
Considere um computador que opera no sistema de ponto flutuante
F (10, 3, −5, 5) , com arredondamento.
(d) Considere os números x = 235.89 , y = 0.0000000345 e
z = −875000000 , e sejam os números m e M os números encontrados
nos itens (b) e (c), respectivamente. Verifique se estes números podem ser
representados no sistema de ponto flutuante em questão.
Observe que y = 0.0000000345 = 0.345× 10−7 . Uma vez que
|y | M = 0.999× 105 , o número z não pode ser representado neste
sistema. A tentativa de representar um número que é maior (em
módulo) do que o maior número representável (em módulo) em um
sistema de ponto flutuante é chamada de overflow .
Thadeu Alves Senne CÁLCULO NUMÉRICO 10 / 16
Exemplo
Considere um computador que opera no sistema de ponto flutuante
F (10, 3, −5, 5) , com arredondamento.
(e) Como o número zero é representado neste sistema de ponto flutuante?
O número zero é representado com todos os d́ıgitos iguais a zero e
com o menor expoente posśıvel, ou seja,
0.000× 10−5 .
Thadeu Alves Senne CÁLCULO NUMÉRICO 11 / 16
Exemplo
Considere um computador que opera no sistema de ponto flutuante
F (10, 3, −5, 5) , com arredondamento.
Veja a representação geométrica deste sistema de ponto flutuante na reta
real.
Thadeu Alves Senne CÁLCULO NUMÉRICO 12 / 16
Exemplo
Considere um computador que opera no sistema de ponto flutuante
F (10, 3, −5, 5) , com arredondamento.
(f) Quantos números podem ser representados de forma exata neste
sistema de ponto flutuante?
Lembramos, pelo item (a), que a representação geral de um número
real x neste sistema de ponto flutuante é
fl(x) = ± 0.d1d2d3 × 10e ,
com 0 ≤ di ≤ 9 (i = 1, 2, 3) , d1 ̸= 0 , e ∈ [−5, 5] .
Thadeu Alves Senne CÁLCULO NUMÉRICO 13 / 16
Exemplo
Considere um computador que opera no sistema de ponto flutuante
F (10, 3, −5, 5) , com arredondamento.
(f) Quantos números podem ser representados de forma exata neste
sistema de ponto flutuante?
Note que, para cada expoente e = −5, −4, . . . , 4, 5 , temos 9
possibilidades para o d́ıgito d1 (pois d1 ̸= 0) , 10 possibilidades para o
d́ıgito d2 e 10 possibilidades para o d́ıgito d3 . Logo, para cada
expoente, temos 9× 10× 10 = 900 mantissas posśıveis.
Uma vez que temos 11 expoentes inteiros no intervalo [−5, 5] , temos
900× 11 = 9900 números (sem levar em conta o sinal).
Como temos 2 sinais, são representados neste sistema
2× 9900 = 19800 números não nulos.
Considerando o número zero, teremos, ao todo, 19800 + 1 = 19801
números que podem ser representados de forma exata no sistema de
ponto flutuante em questão.
Thadeu Alves Senne CÁLCULO NUMÉRICO 14 / 16
Exemplo
Considere um computador que opera no sistema de ponto flutuante
F (10, 3, −5, 5) , com arredondamento.
Thadeu Alves Senne CÁLCULO NUMÉRICO 15 / 16
PERGUNTA: Qual é o sistema de ponto flutuante adotado nos computadores?
Padrão IEEE 754 (1985) - Institute of Electrical and Electronics Engineers
Precisão simples: Sistema de ponto flutuante F = (2, 24, −126, 127) , na
qual os números são representados utilizando 32 bits:
1 (sinal) + 8 (expoente) + 23 (mantissa) .
23 d́ıgitos binários correspondem a 7 ou 8 d́ıgitos decimais.
Precisão dupla: Sistema de ponto flutuante F = (2, 53, −1022, 1023) , na
qual os números são representados utilizando 64 bits:
1 (sinal) + 11 (expoente) + 52 (mantissa) .52 d́ıgitos binários correspondem a 15 ou 16 d́ıgitos decimais.
A atualização mais recente do Padrão IEEE 754 ocorreu em 2019
(https://ieeexplore.ieee.org/servlet/opac?punumber=8766227).
Thadeu Alves Senne CÁLCULO NUMÉRICO 16 / 16
https://ieeexplore.ieee.org/servlet/opac?punumber=8766227

Mais conteúdos dessa disciplina