Anda di halaman 1dari 24

Noes bsicas sobre Erros

Emanuele Santos

Agenda
Representao de Nmeros
Mudanas de Base

Aritmtica de Ponto Flutuante


Truncamento e arredondamento

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

Objetivos
Ao final desta aula, voc dever ser capaz de:
Compreender porque as solues para problemas matemticos
dependem da representao numrica utilizada
Analisar as consequncias das limitaes da representao numrica
em um computador
Representar um nmero em uma base qualquer e realizar mudanas
de bases

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

Resoluo de Problemas usando


Mtodos Numricos
Problema
Real

Levantar
Dados

Construir
Modelo
Matemtico

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

Se houver
ajustes necessrios

Escolher Mtodo
Numrico
Adequado

Analisar
resultados

Implementar Mtodo
Computacionalmente

Soluo
Numrica
4

Resoluo de Problemas usando


Mtodos Numricos
Problema
Real

Erros de modelagem
(ex. erros decorrentes de
simplificaes)

Erros de aproximao

Erros de resoluo
(ex. limitao do
equipamento)
UFC - Universidade Federal do Cear
Clculo Numrico - Professora Emanuele Santos

Levantar
Dados

Construir
Modelo
Matemtico

Se houver
ajustes necessrios

Escolher Mtodo
Numrico
Adequado

Analisar
resultados

Implementar Mtodo
Computacionalmente

Soluo
Numrica
5

Representao de Nmeros
Solues so dependentes da representao numrica utilizada
Exemplos
Clculo da rea A de uma circunferncia de raio 100m
- Resultados dependentes do valor de utilizado
A = 31400 m2 ou A = 31416 m2 ou A = 31415.92654 m2
- possvel calcular a rea exata?
- Qual o resultado mais preciso?
UFC - Universidade Federal do Cear
Clculo Numrico - Professora Emanuele Santos

Representao de Nmeros
Exemplos
Clculo do somatrio no computador: S =

30000
X

xi , para xi = 0.11

i=1

Em Python, preciso dupla

3300.985107

Em C, preciso simples

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

3300.0000000006285
7

Representao de Nmeros
Observaes
Clculo envolvendo nmeros que no podem ser representados por
um nmero finito de dgitos no fornecer resultado exato

o nmero de dgitos utilizados

preciso

Um nmero pode ter representao finita em uma base e no-finita


em outras bases

Ns usamos o sistema decimal


O computador opera no sistema binrio
UFC - Universidade Federal do Cear
Clculo Numrico - Professora Emanuele Santos

Interao com o Computador


converso
converso
Entrada base 10 base 2 Operaes no base 2 base 10

de Dados

Computador

Sada
de Dados

Sistema
decimal

Sistema
binrio

Sistema
decimal

Mudanas de bases podem introduzir erros que afetam os resultados


finais dos clculos

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

Bases
Pode-se representar um nmero real N, em qualquer base b, da
seguinte forma:

Nb =

m
X
i=n

ai b

onde ai {0, 1, 2, 3, ..., (b-1)}, com n e m inteiros

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

10

Nb =

Base Binria
N2 =

m
X
i=n

m
X
i=n

ai b

ai 2 , ai 2 {0, 1}
i

Exemplos
0
1
2
3
(1011)2 = 1 2 + 1 2 + 0 2 + 1 2
2
1
0
1
2
(111.01)2 = 1 2 + 0 2 + 1 2 + 1 2 + 1 2
UFC - Universidade Federal do Cear
Clculo Numrico - Professora Emanuele Santos

11

Nb =

Base Decimal
N10 =

i=n

m
X
i=n

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

ai b

ai 10 , ai 2 {0, 1, . . . , 9}
i

Exemplos
0
1
2
(231)10 = 1 10 + 3 10 + 2 10
(231.35)10 = 5 10

m
X

+ 3 10

+ 1 10 + 3 10 + 2 10
0

12

Mudanas de Base
Base binria para base decimal
Procedimento: multiplicar o dgito binrio por uma potncia
adequada de 2 e depois somar os nmeros obtidos, ou seja, calcular
m
X
i
ai 2
i=n

(1011)2 = 1 2 + 1 2 + 0 2 + 1 2 = (11)2
0

(111.01)2 = 1 2

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

+02

+12 +12 +12


= (7.25)10
0

13

Mudanas de Base
Base decimal para base binria (parte inteira)
Procedimento: dividir o nmero decimal sucessivamente por 2

(25)10 = (11001)2

25
1

2
12
0

Lei
UFC - Universidade Federal do Cear
Clculo Numrico - Professora Emanuele Santos

Op

2
6
0

tur
a

era
e

2
3
1

2
1
14

Mudanas de Base
Base decimal para base binria (parte fracionria)
(0.1875)10 = (0.0011)2
(0.1875) x 2 = 0.375 parte inteira = 0 e parte fracionria 0.375
(0.375) x 2 = 0.75 parte inteira = 0 e parte fracionria 0.75
(0.75) x 2 = 1.5 parte inteira = 1 e parte fracionria 0.5
(0.5) x 2 = 1.0 parte inteira = 1 e parte fracionria 0

(13.25)10 = (13)10 + (0.25)10 = (1101)2 + (0.01)2 = (1101.01)2

(0.11)10 = (0.00011100001. . . )2
UFC - Universidade Federal do Cear
Clculo Numrico - Professora Emanuele Santos

15

Aritmtica de Ponto Flutuante

Representao em Ponto Flutuante


Sistema utilizado pelo computador para representar um nmero real r
onde:

r =m

- 2 a base em que a mquina opera


- e o expoente, nmeiro inteiro no intervalo [l,u]
- m = 0.d1 d2 . . . dt a mantissa e t o nmero de dgitos na
mantissa 0 di (
1); i = 0, . . . , t, d1 6= 0
UFC - Universidade Federal do Cear
Clculo Numrico - Professora Emanuele Santos

17

Representao em Ponto Flutuante


Dado um sistema (, t, l, u), temos:

l
zero
=
0.00...0
x

t vezes

menor nmero positivo, no nulo, exatamente representvel: menor


mantissa, menor expoente l

- m = 0.100...0 x l
t-1 vezes

maior nmero positivo exatamente representvel: maior mantissa,


maior expoente
u, onde = -1
M
=
0...
x

UFC - Universidade Federal do Cear


Clculo Numrico - Professora
Emanuele Santos
t vezes

18

Representao em Ponto Flutuante


Dado um sistema (, t, l, u), temos:
nmero mximo de mantissas positivas possveis:
- mantissas+ = ( -1)x t-1
nmero mximo de expoentes possveis:
- exppossveis = u - l + 1
nmero de elementos positivos representveis:
- NR+ = mantissas+ x exppossveis
nmero total de elementos representveis:
- NRt = 2 x NR+ +1

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

19

Representao em Ponto Flutuante


Exemplo 1
Dado o sistema de ponto flutuante SPF (3, 2, -1, 2), com a seguinte

forma de representao: 0.d1 d2 3e , 0 di 2, d1 6= 0, e 2 [ 1, 2]


O menor positivo exatamente representvel:
1
1
1
2
1
0.10 3 = (1 3 + 0 3 ) 3 =
9
O maior positivo exatamente representvel:
2
1
2
2
0.22 3 = (2 3 + 2 3 ) 3 = 8
A quantidade de reais positivos exatamente representveis:
- mantissas+ = (3-1) x 31= 6
- exppossveis = 2 - (-1) + 1 = 4
- NR+ = 6 x 4 = 24

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

20

Representao em Ponto Flutuante


Dado um sistema (, t, l, u), seja o seguinte conjunto:
G = {x 2 R | m |x| M }
Dado um nmero real x, trs casos podem acontecer:
x G e x no representvel: truncamento ou arredondamento
|x| < m: underflow
|x| > M: overflow

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

21

Representao em Ponto Flutuante:


Exemplo 2
O sistema SPF (10, 3, -5, 5), usa a seguinte forma para representar os
nmeros: 0.d1 d2 d3 10 , 0 di 9, d1 6= 0, e 2 [ 5, 5]
e

-5
zero:
0.000
x
10

menor nmero positivo: m = 0.100 x 10-5 = 10-6


maior nmero positivo: M = 0.999 x 105 = 99900
representando x = 235.89:
- x = 0.23589 x 103, 5 > t = 3; 0.235 x 103 < x < 0.236 x 103
- truncamento: x = 0.235 x 103, arredondamento: x = 0.236 x 103
UFC - Universidade Federal do Cear
Clculo Numrico - Professora Emanuele Santos

22

Preciso simples e dupla


simples: 32 bits
- 1 bit sinal, 8 bits expoente, 23 bits mantissa

dupla: 64 bits
1 bit sinal, 11 bits expoente, 52 bits mantissa

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

23

Representao em Ponto Flutuante:


Exerccio
Questo 9, p. 23: Considere uma mquina cujo sistema de

representao de nmeros definido por: = 10, t = 4, l=-5 e u = 5.


Pede-se:

a) qual o menor e o maior nmero em mdulo representados nesta


mquina?
b) como ser representado o nmero 73.758 nesta mquina, se for
usando arredondamento? E se for usado truncamento?

UFC - Universidade Federal do Cear


Clculo Numrico - Professora Emanuele Santos

24