Sei sulla pagina 1di 47

Universidade Federal do Rio Grande do Norte

Escola de Cincias e Tecnologia


UFRN

Representao da Informao
e Erros de Arredondamento

ECT1303 Computao Numrica

Manter o telefone celular sempre


desligado/silencioso quando estiver em
sala de aula;
Nunca atender o celular na sala de aula.
2

Objetivos
Introduzir os conceitos de exatido e preciso, bem como
de algarismos significativos;
Discutir a representao em ponto flutuante nos
computadores ;
Definir os conceitos de truncamento e arredondamento;
Analisar os erros decorrentes do armazenamento de
nmeros nos computadores.

Erros
Soluo de problema em engenharia
Modelo matemtico
Mtodos de resoluo do modelo

Se possvel, obtemos solues analticas


Contudo, as vezes o modelo no possui uma
soluo analtica ou esta de dificil soluo
Utilizar mtodos numricos (com o possivel auxilio de
equipamentos eletrnicos: calculadora, computador)
Problema
Fisico

Modelagem

Modelo
Matemtico

Resoluo

Soluo

Erros
Portanto, a soluo de um determinado problema
apresenta erros nas duas fazes:

Modelagem

Resoluo

Erros na fase de modelagem


Raramente se tem uma descrio matemtica
perfeita do sistema fsico
A realidade matemtica?
Vrias simplificaes
Relatividade Geral Gravitao de Newton

Erros nos dados de entrada


Ex: determinar a altura de um edifcio com uma
bolinha de metal e um cronometro
Desconsideramos velocidade do vento, resistncia do ar,
impreciso do cronometro
6

Erros na fase de resoluo


Dois tipos bsicos:
Erros de arredondamento
Oriundos da forma de representao numrica em
computadores (s podem representar quantidades
com nmero finitos de algarismos).

Erros de truncamento
Resultam do uso de uma aproximao no lugar de
um procedimento matemtico exato.
7

Algarismos Significativos
Quais as marcaes dos ponteiros maiores dos
altmetros?

Algarismos Significativos

Algarismos significativos de um nmero


so aqueles que podem ser usados com confiana.
Correspondem ao nmero de algarismos corretos de
uma medida mais um algarismo estimado!

Algarismos Significativos
Quais as marcaes dos ponteiros maiores dos
altmetros?

9,2

6,58
10

Algarismos Significativos
Os zeros nem sempre so contados como algarismos
significativos:
Podem indicar somente localizao da vrgula!
Exemplos:
- 0,000561, 0,00561 e 0,0561 tm 3 algarismos significativos
- 31.500 pode ter 3, 4 ou 5 algarismos significativos

Para evitar confuso, usada notao cientfica.


Exemplos:
- 5,61x10-1 possui 3 algarismos significativos
- 3,150x103 possui 4 algarismos significativos
11

Algarismos Significativos
Duas observaes importantes:
Algumas grandezas no podem ser representadas
exatamente usando um nmero finito de algarismos
significativos:

O Engenheiro/Cientista deve saber com quantos


algarismos significativos ele deve buscar uma soluo
numrica para seu problema!
12

Exatido e Preciso
Ao cobrar pnaltis, um jogador acertou 10 vezes
consecutivas o travesso. Ele foi exato, preciso, os dois
ou nenhum dos dois?

13

Exatido e Preciso
Os termos exatido e preciso relacionados a clculos e
medies:
Exatido (Acurcia)
Quo prximo o valor calculado
ou medido est do verdadeiro

Preciso
Quo prximo clculos ou
medies sucessivas esto uma
das outras
14

Exatido e Preciso

15

Representao em Ponto Flutuante


J foi visto em IF a representao de nmeros inteiros na
base 2. E quanto aos nmeros reais?
Como o computador armazena o nmero ?

necessrio saber converter um nmero real entre


bases!
Converses para a base 10:
195210 = (1x103 + 9x102 + 5x101 + 2x100)10
23,9610 = (2x101 + 3x100 + 9x10-1 + 6x10-2)10
110012 = (1x24 + 1x23 + 0x22 + 0x21 + 1x20)10
10,1012 = (1x21 + 0x20 + 1x2-1 + 0x2-2 + 1x2-3)10

16

Representao em Ponto Flutuante


Converso da parte fracionria decimal para binrio
Considere o nmero decimal

em que deseja-se obter a representao binria


a) Multiplique o nmero decimal por 2. A parte inteira
do resultado o bit b1.
b) Descarte a parte inteira do nmero real obtido,
ficando somente a parte fracionria.
c) Repita a) para obter os bits sucessivos b2, b3, ..., at
que obtenha parte fracionria nula ou preciso
desejada
17

Exemplos
Encontrar o valor na base 2 dos seguintes nmeros na base 10:
34
0,75
4,125
3,8
33,023

3,8 no tem representao exata na base 2!

Erros computacionais de
arredondamento!

18

Representao em Ponto Flutuante


Representao em ponto flutuante normalizada:

chamado de mantissa
a base do sistema de numerao
o expoente, inteiro, expresso em decimal e
armazenado na base do sistema como inteiro com sinal
p a preciso da representao
em que:
19

Representao em Ponto Flutuante


Representao em ponto flutuante normalizada:

Sistemas de Numerao em Ponto Flutuante


a base, p a preciso, m e M so os valores
mnimos e mximos que o expoente pode assumir.
20

Exemplos
Encontrar o valor na base 10 dos seguintes nmeros que
esto no sistema F(2,3,-3,3):
-0,101x22
0,100x2-3
-0,110x2-1
0,111x23

21

Representao em Ponto Flutuante


Qual o menor nmero positivo representado no sistema F(2,3,-3,3)?
Sinal do
expoente
mantissa
Sinal da
mantissa

Conveo:

2-1

2-2 2-3

expoente
1

21

20

bit 0 -> +
bit 1 -> 22

Exemplos

Quantos bits so necessrios para representao no sistema


F(2,3,-3,3), sabendo que um bit usado como sinal da
mantissa e outro como sinal do expoente?

Quais nmeros podem ser representados no sistema


F(2,3,-3,3)?

23

Representao em Ponto Flutuante


Note que as mantissas possveis, em mdulo, so:
0,100 = 0,510
0,101 = 0,62510 0,110 = 0,7510
e que os expoentes variam de -3 a 3:

0,111 = 0,87510

24

Representao em Ponto Flutuante


Menor real positivo representado em

Maior real positivo representado

25

Representao em Ponto Flutuante


Nmeros reais mximos e mnimos que podem ser
representados usando um sistema:
Intervalo de
representao

underflow

Intervalo de
representao

overflow

overflow

-xM

-xm 0

xm

xM

Overflow: expoente maior que o expoente mximo


Underflow: expoente menor que o expoente mnimo
26

Representao em Ponto Flutuante


F(2,3,-3,3):

Intervalo de
representao

underflow

Intervalo de
representao

overflow

overflow

-7

-0,0625 0

0,0625

Observaes importantes
Existe um intervalo limitado de quantidades que podem ser
representadas num sistema em ponto flutuante!
Existe apenas um nmero finito de nmeros reais que podem
ser representados num determinado sistema.
O intervalo de representao aumenta conforme o mdulo dos
nmeros cresce.
27

Exemplos
Represente os nmeros 0,7510 e 1,4510 no sistema F(2,3,-3,3)
dos exerccios anteriores.
Resolvendo 0,7510 :
Parte Fracionria

0,75
x2
1,50

0,50
x2
1,00

Resolvendo 1,4510: Parte Fracionria

0,45 0,90 0,80 0,60 0,20


x2
x2
x2
x2
x2
0,90 1,80 1,60 1,20 0,40

O que fazer nesse caso?


28

Truncamento e Arredondamento
Truncar
Significa abandonar todos os dgitos menos
significativos a partir de uma determinada posio.

Exemplo:
Truncar (1,01110 ...)2 para 3 dgitos significativos.
Nesse caso, os dgitos em vermelho, a partir do 4
dgito (incluso), seriam abandonados
(1,01110 ... )2
O nmero aps o truncamento ser:
1,012 = 0,101x21
29

Truncamento e Arredondamento
Arredondar
Significa truncar todos os dgitos menos significativos a
partir de uma determinada posio, de forma a torn-lo
mais prximo do nmero original.
Regra para arredondamento em d casas de nmeros
representados em binrio:
Trunca-se x na posio d: x = b1b2...bd
- Se bd+1 for 0: x j est na forma arredondada
- Se bd+1 for 1: adiciona-se 1 bd, tornando x = b1b2...(bd+1)
30

Truncamento e Arredondamento
Exemplo:
Arredondar (1,01110 ...)2 para 3 dgitos significativos
Nesse caso, os dgitos em vermelho sero excludos e
ser adicionado 1 ao dgito em azul, pois o 1 dgito em
vermelho igual a 1
(1,01110 ... )2
O nmero aps o arredondamento ser:
1,102 = 0,110x21

31

Representao em Ponto Flutuante


Voltando ao exerccio:
Represente o nmero 1,4510 no sistema F(2,3,-3,3)

Usando truncamento
1,012 = 0,101x21
= 1,2510

Usando arredondamento
1,102 = 0,110x21
= 1,5010

O arredondamento gerou um
ERRO menor
32

Definies de Erro
No sentido estrito, erro verdadeiro (E) definido como:

E = valor verdadeiro - aproximao


onde o Valor Verdadeiro = aproximao + E!
Define-se:

33

Exemplo
Calcular os erros relativos na representao de 1,4510 no sistema
F(2,3,-3,3), considerando o truncamento e o arredondamento.

Truncamento

Arredondamento

34

Arredondamento de nmeros da base 10


Arredondar na base 10 para k casas

Exemplo: Arredondar para 3 os nmeros que esto com 5


dgitos significativos:
(2,3555)10 - (0,23401x103)10 - (0,99144)10 - (0,99971)10
Respostas: 2,36 0,234x103 0,991 1,00
35

Epsilon () de um Computador
Considere um computador que manipula nmeros reais a partir de um
sistema
. Qual o erro relativo mximo cometido na
representao de um real xM x xM nesse sistema?
Vejamos o caso do sistema F(2,3,-3,3) j estudado:
0,031250

1,0

0,031250

1,0

0,031250

1,0
1,0

0,031250

Para um mesmo expoente, os incrementos x so constantes!


Se definirmos o erro:
Ento, para cada expoente, Er ser mximo quando x for o menor real
representado!

36

Exemplo
Calcular os erros relativos mximos no sistema F(2,3,-3,3)
para os expoentes -2 e 3.

Para o expoente -2:

Para o expoente 3:

Iguais! Coincidncia?
37

Epsilon () de um Computador
Epsilon () de um sistema em ponto flutuante
Representa o maior erro relativo causado pela
representao de um nmero real num sistema em
ponto flutuante

Para o sistema F(2,3,-3,3):

38

Aritmtica Flutuante
Os erros de arredondamento causados pela representao em
computador tendem a se propagar e, algumas vezes, a se
amplificar ao longo de clculos efetuados.
Exemplo com uma mantissa de 4 algarismos:

1
3 (0,3333 10 0 ) (0,3000 101 )
3
0,9999 10 0

Note uma ligeira perda de preciso com relao ao


valor exato desta operao que 1.
39

Multiplicao e diviso
A multiplicao e a diviso so particularmente simples em
aritmtica flutuante devido lei dos exponenciais.

Exemplo com uma mantissa de 4 algarismos:

(0,4035 106 ) (0,1978 101) 0,0798123 105


0,7981104

40

Adio e subtrao
preciso ser prudente com a adio e subtrao!
Primeiramente, adicionamos zeros mantissa do nmero
tendo o menor expoente de modo que os dois expoentes
sejam iguais.
Em seguida, efetuamos a operao normalmente e
colocamos o resultado em notao flutuante
Exemplo com uma
0,4035 10 6 0,1978 10 4
mantissa de 4 algarismos:
0,4035 10 6 0,001978 10 6

0,405478 10 6
0,4055 10 6

41

Operaes de risco

Algumas operaes so particularmente sensveis aos


erros de arredondamento.

Estas operaes devem ser evitadas sempre que


possvel!

42

Operaes de risco
Adio de nmeros com ordens de
grandeza muito diferentes.

Exemplo com uma mantissa de 4 algarismos:

4000 0,001 0,4000 10 4 0,1000 102


0,4000 10 4 0,000000110 4
0,400000110 4
0,4000 10 4

A lei dos expoentes e a aritmtica flutuante fazem com que


o nmero pequeno desaparea completamente frente ao
grande.
43

Operaes de risco
Subtrao de nmeros quase iguais.

Exemplo com uma mantissa de 10 algarismos:

9876 9875
0,9937806599 10 2 0,9937303457 10 2
0,0000503142 10 2
0,5031420000 10-2

Os quatro zeros no final da mantissa no tm significado e


assim perdemos 4 casas decimais.
44

Operaes de risco
Subtrao de nmeros quase iguais.

Podemos obter um resultado mais preciso? SIM!

1
9876 9875
9876 9875
0,5031418679 104

Nem sempre existe uma maneira trivial de resolver tais erros


de aritmtica flutuante.
45

Atividade
Considere a funo: f (x) x( x

x 1)

a) Use o SciLab para calcular o valor de f(x) para x = 10, x = 1000


e x = 100000.
b) Use o
sistema decimal com 6 algarismos significativos para
calcular f(x) para os valores de x indicados na letra (a).
Compare os resultados com os valores obtidos na letra (a).
c) Transforme f(x) multiplicando a funo por

x x 1 .
x x 1

Usando a nova forma, calcule novamente o valor de f(x) para


os trs valores de x no sistema decimal com 6 algarismos
significativos. Compare os resultados com aqueles obtidos na

letra (a).
46

Atividade
Computadores e softwares atuais usam o padro IEEE 754-2008
para representao em ponto flutuante. Alguns dos sistemas
definidos nesse padro so:
Nome do sistema

Especificao

Mdia preciso

F(2,11,-14,15) 16 bits

Preciso simples

F(2,24,-126,127) 32 bits

Preciso dupla

F(2, 53, -1022, 1023) 64 bits

Preciso qudrupla

F(2, 113, -16382, 16383) 128 bits

Encontre os intervalos de overflow e underflow de cada sistema,


assim como o epsilon da mquina.
47

Potrebbero piacerti anche