Você está na página 1de 108

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Noes Bsicas sobre Erros


Andr Nagamine
UNIVERSIDADE ESTADUAL DO SUDOESTE DA BAHIA - UESB

3 de maro de 2015

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Aritmtica de Ponto Flutuante - APF


Existe uma forma padronizada com o qual o computador
armazena os nmeros. O sistema mais utilizado chamado de
Aritmtica de Ponto Flutuante - APF, tanto para armazenar
quanto para realizar operaes.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Aritmtica de Ponto Flutuante - APF


Existe uma forma padronizada com o qual o computador
armazena os nmeros. O sistema mais utilizado chamado de
Aritmtica de Ponto Flutuante - APF, tanto para armazenar
quanto para realizar operaes.
Um nmero x em APF tem a seguinte forma:

x = (0, d1 d2 . . . dt ) e
onde:

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Aritmtica de Ponto Flutuante - APF


Existe uma forma padronizada com o qual o computador
armazena os nmeros. O sistema mais utilizado chamado de
Aritmtica de Ponto Flutuante - APF, tanto para armazenar
quanto para realizar operaes.
Um nmero x em APF tem a seguinte forma:

x = (0, d1 d2 . . . dt ) e
onde:
a base numrica

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Aritmtica de Ponto Flutuante - APF


Existe uma forma padronizada com o qual o computador
armazena os nmeros. O sistema mais utilizado chamado de
Aritmtica de Ponto Flutuante - APF, tanto para armazenar
quanto para realizar operaes.
Um nmero x em APF tem a seguinte forma:

x = (0, d1 d2 . . . dt ) e
onde:
a base numrica
t o nmero de dgitos da mantissa; 0 dj 1,
j = 1, . . . , t, d1 6= 0

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Aritmtica de Ponto Flutuante - APF


Existe uma forma padronizada com o qual o computador
armazena os nmeros. O sistema mais utilizado chamado de
Aritmtica de Ponto Flutuante - APF, tanto para armazenar
quanto para realizar operaes.
Um nmero x em APF tem a seguinte forma:

x = (0, d1 d2 . . . dt ) e
onde:
a base numrica
t o nmero de dgitos da mantissa; 0 dj 1,
j = 1, . . . , t, d1 6= 0
e um expoente variando no intervalo [m, M] onde o
intervalo depende da capacidade da mquina usada.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Aritmtica de Ponto Flutuante - APF


Existe uma forma padronizada com o qual o computador
armazena os nmeros. O sistema mais utilizado chamado de
Aritmtica de Ponto Flutuante - APF, tanto para armazenar
quanto para realizar operaes.
Um nmero x em APF tem a seguinte forma:

x = (0, d1 d2 . . . dt ) e
onde:
a base numrica
t o nmero de dgitos da mantissa; 0 dj 1,
j = 1, . . . , t, d1 6= 0
e um expoente variando no intervalo [m, M] onde o
intervalo depende da capacidade da mquina usada.
Exemplos: ...

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Notao:

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Notao: usaremos a notao


x f (, t, m, M)
para indicar o sistema de aritmtica de ponto flutuante ao qual
x pertence.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Notao: usaremos a notao


x f (, t, m, M)
para indicar o sistema de aritmtica de ponto flutuante ao qual
x pertence.
Consideremos uma mquina que trabalha no sistema
f (10, 3, 5, 5).

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Notao: usaremos a notao


x f (, t, m, M)
para indicar o sistema de aritmtica de ponto flutuante ao qual
x pertence.
Consideremos uma mquina que trabalha no sistema
f (10, 3, 5, 5). Ento qualquer nmero x nesse sistema ser
representado por:
(0, d1 d2 d3 ) 10e ,

0 dj 9, e [5, 5]

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Notao: usaremos a notao


x f (, t, m, M)
para indicar o sistema de aritmtica de ponto flutuante ao qual
x pertence.
Consideremos uma mquina que trabalha no sistema
f (10, 3, 5, 5). Ento qualquer nmero x nesse sistema ser
representado por:
(0, d1 d2 d3 ) 10e ,

0 dj 9, e [5, 5]

Pergunta: qual o menor e o maior valor (em mdulo) nesse


sistema?

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Notao: usaremos a notao


x f (, t, m, M)
para indicar o sistema de aritmtica de ponto flutuante ao qual
x pertence.
Consideremos uma mquina que trabalha no sistema
f (10, 3, 5, 5). Ento qualquer nmero x nesse sistema ser
representado por:
(0, d1 d2 d3 ) 10e ,

0 dj 9, e [5, 5]

Pergunta: qual o menor e o maior valor (em mdulo) nesse


sistema?
Obs.: em um computador a quantidade de dgitos usada para
representar os nmeros sempre finita.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Truncamento

Considere o problema de representar o nmero x = 235, 89 no


sistema f (10, 3, 5, 5).

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Truncamento

Considere o problema de representar o nmero x = 235, 89 no


sistema f (10, 3, 5, 5). Como a mantissa deve ter tamanho
t = 3, na operao de truncamento despreza-se os dois
ltimos dgitos, ou seja:

x = 0, 235 103 .

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Arredondamento

No arredondamento verifica-se a magnitude do dgito mais a


esquerda que est fora da mantissa. Se este nmero for menor
do que 5 ento o ltimo dgito direita na mantissa permanece
como est, caso contrrio acrescenta-se esse nmero uma
unidade.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Arredondamento

No arredondamento verifica-se a magnitude do dgito mais a


esquerda que est fora da mantissa. Se este nmero for menor
do que 5 ento o ltimo dgito direita na mantissa permanece
como est, caso contrrio acrescenta-se esse nmero uma
unidade. No exemplo, anterior temos:
x = 0, 236 103 .

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Overflow e Underflow

Overflow ocorre quando o nmero a ser representado maior


do que aquele em que a mquina tem capacidade de
representar. Por exemplo, suponha que o sistema dado por
f (10, 3, 3, 3) e que queremos representar nesse sistema o
nmero x = 930450.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Overflow e Underflow

Overflow ocorre quando o nmero a ser representado maior


do que aquele em que a mquina tem capacidade de
representar. Por exemplo, suponha que o sistema dado por
f (10, 3, 3, 3) e que queremos representar nesse sistema o
nmero x = 930450.
Analogamente underflow ocorre quando o nmero a ser
representado menor do que aquele em que a mquina tem
capacidade de representar. Por exemplo, no sistema acima,
no possvel representar o nmero x = 0, 00002.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erros

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erros

Definio (Erro Absoluto)


o mdulo da diferena entre o valor exato de um nmero x e
o seu valor aproximado x , ou seja

EAx = |x x |

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erros

Definio (Erro Absoluto)


o mdulo da diferena entre o valor exato de um nmero x e
o seu valor aproximado x , ou seja

EAx = |x x |
Na prtica o que se faz estabelecer uma estimativa para o
erro absoluto da forma:
EAx = |x x | < 
onde  valor da estimativa.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Exemplo: Usando uma aproximao de no intervalo


(3, 14, 3, 15), temos que:

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Exemplo: Usando uma aproximao de no intervalo


(3, 14, 3, 15), temos que:
EAx = |x x | < 0, 01.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erro relativo

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erro relativo
Consideremos um nmero x = 2112, 9 com EAx < 0, 2, ou
seja, x (2112, 7, 2113, 1).

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erro relativo
Consideremos um nmero x = 2112, 9 com EAx < 0, 2, ou
seja, x (2112, 7, 2113, 1).
Consideremos um nmero y = 5, 3 com EAy < 0, 2, isto ,
y (5, 1, 5, 5).

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erro relativo
Consideremos um nmero x = 2112, 9 com EAx < 0, 2, ou
seja, x (2112, 7, 2113, 1).
Consideremos um nmero y = 5, 3 com EAy < 0, 2, isto ,
y (5, 1, 5, 5).
Podemos dizer que os nmeros tm a mesma preciso?

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erro relativo
Consideremos um nmero x = 2112, 9 com EAx < 0, 2, ou
seja, x (2112, 7, 2113, 1).
Consideremos um nmero y = 5, 3 com EAy < 0, 2, isto ,
y (5, 1, 5, 5).
Podemos dizer que os nmeros tm a mesma preciso?
Para responder a essa pergunta definimos a noo de erro
relativo.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erro relativo
Consideremos um nmero x = 2112, 9 com EAx < 0, 2, ou
seja, x (2112, 7, 2113, 1).
Consideremos um nmero y = 5, 3 com EAy < 0, 2, isto ,
y (5, 1, 5, 5).
Podemos dizer que os nmeros tm a mesma preciso?
Para responder a essa pergunta definimos a noo de erro
relativo.
O erro relativo definido como sendo o quociente entre o erro
absoluto e o valor aproximado, ou seja,

ERx =

EAx
.
|x |

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erro relativo
Consideremos um nmero x = 2112, 9 com EAx < 0, 2, ou
seja, x (2112, 7, 2113, 1).
Consideremos um nmero y = 5, 3 com EAy < 0, 2, isto ,
y (5, 1, 5, 5).
Podemos dizer que os nmeros tm a mesma preciso?
Para responder a essa pergunta definimos a noo de erro
relativo.
O erro relativo definido como sendo o quociente entre o erro
absoluto e o valor aproximado, ou seja,

ERx =

EAx
.
|x |

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Na prtica, como EAx nem sempre pode ser obtido, fazemos


uma estimativa para o erro relativo baseado na estimativa para
o erro absoluto,

|x x |
<
ERx =

|x |
|x |

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Na prtica, como EAx nem sempre pode ser obtido, fazemos


uma estimativa para o erro relativo baseado na estimativa para
o erro absoluto,

|x x |
<
ERx =

|x |
|x |
Exemplo: considere os nmeros x e y representados
anteriormente, temos:

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Na prtica, como EAx nem sempre pode ser obtido, fazemos


uma estimativa para o erro relativo baseado na estimativa para
o erro absoluto,

|x x |
<
ERx =

|x |
|x |
Exemplo: considere os nmeros x e y representados
anteriormente, temos:
0, 2
|x x |
9, 46 105
<

|x |
2112, 9
|y y |
0, 2
ERy =
<
0, 037
|y |
5, 3
ERx =

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erros de arredondamento e truncamento em um sistema APF

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erros de arredondamento e truncamento em um sistema APF

Exemplo: considere no sistema f (10, 4, 5, 5) o nmero


x = 293, 32 ento temos:
x = 0, 29332 103
= 0, 2933 103 + 0, 00002 103
= 0, 2933 103 + 0, 2 101

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Considere o seguinte nmero em um sistema APF


x = 0, d1 d2 . . . dn e .
Se o sistema considerado tiver t dgitos e n > t ento devemos
efetuar o truncamento ou arredondamento.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Considere o seguinte nmero em um sistema APF


x = 0, d1 d2 . . . dn e .
Se o sistema considerado tiver t dgitos e n > t ento devemos
efetuar o truncamento ou arredondamento.
Note que podemos escrever:
t vezes

z }| {
x = 0, d1 d2 . . . dt + 0, 00 . . . 0 dt+1 dt+2 . . . dn e
e

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Considere o seguinte nmero em um sistema APF


x = 0, d1 d2 . . . dn e .
Se o sistema considerado tiver t dgitos e n > t ento devemos
efetuar o truncamento ou arredondamento.
Note que podemos escrever:
t vezes

z }| {
x = 0, d1 d2 . . . dt + 0, 00 . . . 0 dt+1 dt+2 . . . dn e
e

= 0, d1 d2 . . . dt e + 0, dt+1 dt+2 . . . dn et
|
{z
}
{z
}
|
fx

gx

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

No caso do truncamento a parcela gx desprezada, ou seja,


x = fx e .

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

No caso do truncamento a parcela gx desprezada, ou seja,


x = fx e .
Vamos analisar o erro cometido no truncamento. Primeiro o
erro absoluto

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

No caso do truncamento a parcela gx desprezada, ou seja,


x = fx e .
Vamos analisar o erro cometido no truncamento. Primeiro o
erro absoluto
EAx = |x x | = |gx | et < et ,
ento

EAx < et

pois |gx | < 1

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

No caso do truncamento a parcela gx desprezada, ou seja,


x = fx e .
Vamos analisar o erro cometido no truncamento. Primeiro o
erro absoluto
EAx = |x x | = |gx | et < et ,

pois |gx | < 1

ento

EAx < et
Agora o erro relativo
ERx =
pois

1
|fx |

|x x |
|gx | et
et
=
< 1
= t = 1t .
e
|x |
|fx |
e

< . Conclumos que

ERx < 1t

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vejamos agora o que ocorre no caso do arredondamento

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vejamos agora o que ocorre no caso do arredondamento


(
fx e
caso |gx | < 12
x =
fx e + et se |gx | 12 .

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vejamos agora o que ocorre no caso do arredondamento


(
fx e
caso |gx | < 12
x =
fx e + et se |gx | 12 .
1o caso: |gx | <

1
2

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vejamos agora o que ocorre no caso do arredondamento


(
fx e
caso |gx | < 12
x =
fx e + et se |gx | 12 .
1o caso: |gx | <

1
2

EAx = |x x | = |gx | et <

ou seja,

1 et

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vejamos agora o que ocorre no caso do arredondamento


(
fx e
caso |gx | < 12
x =
fx e + et se |gx | 12 .
1o caso: |gx | <

1
2

EAx = |x x | = |gx | et <

ou seja,
EAx <

et
2

1 et

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Analogamente
ERx =

1t
|x x |
|gx | et
1 et
=
=
<
|x |
|fx | e
2 1 e
2

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Analogamente
ERx =

1t
|x x |
|gx | et
1 et
=
=
<
|x |
|fx | e
2 1 e
2

ou seja,
ERx <
2o caso: |gx |

1
2

1t
2

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Analogamente
ERx =

1t
|x x |
|gx | et
1 et
=
=
<
|x |
|fx | e
2 1 e
2

ou seja,
ERx <
2o caso: |gx |
Temos

1t
2

1
2



EAx = |x x | = | fx e + gx et fx e + et |
1
= | (gx 1) et | = |gx 1| et et
2
ou seja,

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Analogamente
ERx =

1t
|x x |
|gx | et
1 et
=
=
<
|x |
|fx | e
2 1 e
2

ou seja,
ERx <
2o caso: |gx |
Temos

1t
2

1
2



EAx = |x x | = | fx e + gx et fx e + et |
1
= | (gx 1) et | = |gx 1| et et
2
ou seja,
et
EAx
2

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Analogamente,
|gx 1| et
1 et
|x x |
=
<
|x |
|fx e + et |
2 |fx | e
1 et
1
<
= 1t .
2 1 e
2

ERx =

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Analogamente,
|gx 1| et
1 et
|x x |
=
<
|x |
|fx e + et |
2 |fx | e
1 et
1
<
= 1t .
2 1 e
2

ERx =

ERx <

1t
2

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Analogamente,
|gx 1| et
1 et
|x x |
=
<
|x |
|fx e + et |
2 |fx | e
1 et
1
<
= 1t .
2 1 e
2

ERx =

ERx <

1t
2

Exemplo: Considere o sistema f (10, 3, 5, 5) e os nmeros


x1 = 25, 0298; x2 = 1550, 0333. Encontre estimativas para o
erro relativo e absoluto de arredondamento em cada um dos
casos.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erro nas operaes de APF

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Erro nas operaes de APF

Vimos anteriormente que toda vez que o computador


armazena nmeros podem ocorrer erros. O mesmo acontece
em uma sequncia de operaes, como por exemplo:
u = [(x + y ) z t] w.
Vamos analisar o erro em operaes desse tipo.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Operao de soma em APF

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Operao de soma em APF


Para efetuar a soma em APF temos que alinhar a mantissa dos
dois nmeros. Para isso a mantissa no nmero de menor
expoente deve ser deslocada para a direita se for o caso.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Operao de soma em APF


Para efetuar a soma em APF temos que alinhar a mantissa dos
dois nmeros. Para isso a mantissa no nmero de menor
expoente deve ser deslocada para a direita se for o caso.
Exemplo 1: considere x = 0, 937 104 e y = 0, 1272 102 , obter
x + y . Temos

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Operao de soma em APF


Para efetuar a soma em APF temos que alinhar a mantissa dos
dois nmeros. Para isso a mantissa no nmero de menor
expoente deve ser deslocada para a direita se for o caso.
Exemplo 1: considere x = 0, 937 104 e y = 0, 1272 102 , obter
x + y . Temos
x + y = 0, 937 104 + 0, 001272 104

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Operao de soma em APF


Para efetuar a soma em APF temos que alinhar a mantissa dos
dois nmeros. Para isso a mantissa no nmero de menor
expoente deve ser deslocada para a direita se for o caso.
Exemplo 1: considere x = 0, 937 104 e y = 0, 1272 102 , obter
x + y . Temos
x + y = 0, 937 104 + 0, 001272 104
= (0, 937 + 0, 001272) 104 = 0, 938272 104 .

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Operao de soma em APF


Para efetuar a soma em APF temos que alinhar a mantissa dos
dois nmeros. Para isso a mantissa no nmero de menor
expoente deve ser deslocada para a direita se for o caso.
Exemplo 1: considere x = 0, 937 104 e y = 0, 1272 102 , obter
x + y . Temos
x + y = 0, 937 104 + 0, 001272 104
= (0, 937 + 0, 001272) 104 = 0, 938272 104 .
Exemplo 2: sejam x e y do exemplo anterior, obter xy . Temos:

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Operao de soma em APF


Para efetuar a soma em APF temos que alinhar a mantissa dos
dois nmeros. Para isso a mantissa no nmero de menor
expoente deve ser deslocada para a direita se for o caso.
Exemplo 1: considere x = 0, 937 104 e y = 0, 1272 102 , obter
x + y . Temos
x + y = 0, 937 104 + 0, 001272 104
= (0, 937 + 0, 001272) 104 = 0, 938272 104 .
Exemplo 2: sejam x e y do exemplo anterior, obter xy . Temos:



xy = 0, 937 104 0, 1272 102

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Operao de soma em APF


Para efetuar a soma em APF temos que alinhar a mantissa dos
dois nmeros. Para isso a mantissa no nmero de menor
expoente deve ser deslocada para a direita se for o caso.
Exemplo 1: considere x = 0, 937 104 e y = 0, 1272 102 , obter
x + y . Temos
x + y = 0, 937 104 + 0, 001272 104
= (0, 937 + 0, 001272) 104 = 0, 938272 104 .
Exemplo 2: sejam x e y do exemplo anterior, obter xy . Temos:



xy = 0, 937 104 0, 1272 102
= (0, 937 0, 1272) 106

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Operao de soma em APF


Para efetuar a soma em APF temos que alinhar a mantissa dos
dois nmeros. Para isso a mantissa no nmero de menor
expoente deve ser deslocada para a direita se for o caso.
Exemplo 1: considere x = 0, 937 104 e y = 0, 1272 102 , obter
x + y . Temos
x + y = 0, 937 104 + 0, 001272 104
= (0, 937 + 0, 001272) 104 = 0, 938272 104 .
Exemplo 2: sejam x e y do exemplo anterior, obter xy . Temos:



xy = 0, 937 104 0, 1272 102
= (0, 937 0, 1272) 106
= 0, 1191864 106

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vejamos agora o erro absoluto e relativo que pode ser


cometido nas operaes aritmticas.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vejamos agora o erro absoluto e relativo que pode ser


cometido nas operaes aritmticas.
Para simplificar a anlise do erro vamos admitir que
x

EAx = x x e ERx = EA
x . Alm disso, vamos supor x x > 0.
Com isso, podemos escrever
EAx = x x x = x + EAx .

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vejamos agora o erro absoluto e relativo que pode ser


cometido nas operaes aritmticas.
Para simplificar a anlise do erro vamos admitir que
x

EAx = x x e ERx = EA
x . Alm disso, vamos supor x x > 0.
Com isso, podemos escrever
EAx = x x x = x + EAx .
Adio

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vejamos agora o erro absoluto e relativo que pode ser


cometido nas operaes aritmticas.
Para simplificar a anlise do erro vamos admitir que
x

EAx = x x e ERx = EA
x . Alm disso, vamos supor x x > 0.
Com isso, podemos escrever
EAx = x x x = x + EAx .
Adio
Temos:
x + y = (x + EAx ) + (y + EAy )
= (x + y ) + (EAx + EAy )

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vejamos agora o erro absoluto e relativo que pode ser


cometido nas operaes aritmticas.
Para simplificar a anlise do erro vamos admitir que
x

EAx = x x e ERx = EA
x . Alm disso, vamos supor x x > 0.
Com isso, podemos escrever
EAx = x x x = x + EAx .
Adio
Temos:
x + y = (x + EAx ) + (y + EAy )
= (x + y ) + (EAx + EAy )
Logo o erro absoluto na soma dado por EAx + EAy , ou seja
a soma dos erros de cada um.
EAx+y = EAx + EAy

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Agora o erro relativo

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Agora o erro relativo


ERx+y =

EAx+y
EAx + EAy
EAy
EAx
=
=
+
x + y
x + y
x + y x + y

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Agora o erro relativo


EAx+y
EAx + EAy
EAy
EAx
=
=
+
x + y
x + y
x + y x + y




EAy
EAx
x
y
=
+
x
x + y
y
x + y

ERx+y =

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Agora o erro relativo


EAx+y
EAx + EAy
EAy
EAx
=
=
+
x + y
x + y
x + y x + y




EAy
EAx
x
y
=
+
x
x + y
y
x + y




y
x
= ERx x+
y + ERy x +y

ERx+y =

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Agora o erro relativo


EAx+y
EAx + EAy
EAy
EAx
=
=
+
x + y
x + y
x + y x + y




EAy
EAx
x
y
=
+
x
x + y
y
x + y




y
x
= ERx x+
y + ERy x +y

ERx+y =

Subtrao

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Agora o erro relativo


EAx+y
EAx + EAy
EAy
EAx
=
=
+
x + y
x + y
x + y x + y




EAy
EAx
x
y
=
+
x
x + y
y
x + y




y
x
= ERx x+
y + ERy x +y

ERx+y =

Subtrao
Analogamente no caso da subtrao obtemos:
EAxy = EAx EAy

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Agora o erro relativo


EAx+y
EAx + EAy
EAy
EAx
=
=
+
x + y
x + y
x + y x + y




EAy
EAx
x
y
=
+
x
x + y
y
x + y




y
x
= ERx x+
y + ERy x +y

ERx+y =

Subtrao
Analogamente no caso da subtrao obtemos:
EAxy = EAx EAy
ERxy = ERx

x
x y

ERy

y
x y

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Multiplicao

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Multiplicao

xy = (x + EAx )(y + EAy )

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Multiplicao

xy = (x + EAx )(y + EAy )


= x y + x EAy + y EAx + EAx EAy

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Multiplicao

xy = (x + EAx )(y + EAy )


= x y + x EAy + y EAx + EAx EAy
Para simplificar a obteno do erro absoluto nesse caso,
vamos fazer apenas uma estimativa. Para isso desprezamos o
termo EAx EAy . Assim:

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Multiplicao

xy = (x + EAx )(y + EAy )


= x y + x EAy + y EAx + EAx EAy
Para simplificar a obteno do erro absoluto nesse caso,
vamos fazer apenas uma estimativa. Para isso desprezamos o
termo EAx EAy . Assim:
EAxy ' x EAy + y EAx

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Multiplicao

xy = (x + EAx )(y + EAy )


= x y + x EAy + y EAx + EAx EAy
Para simplificar a obteno do erro absoluto nesse caso,
vamos fazer apenas uma estimativa. Para isso desprezamos o
termo EAx EAy . Assim:
EAxy ' x EAy + y EAx
Pela aproximao do erro absoluto acima, temos:

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Multiplicao

xy = (x + EAx )(y + EAy )


= x y + x EAy + y EAx + EAx EAy
Para simplificar a obteno do erro absoluto nesse caso,
vamos fazer apenas uma estimativa. Para isso desprezamos o
termo EAx EAy . Assim:
EAxy ' x EAy + y EAx
Pela aproximao do erro absoluto acima, temos:
x EAy + y EAx
ERxy '
= ERx + ERy
x y

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Multiplicao

xy = (x + EAx )(y + EAy )


= x y + x EAy + y EAx + EAx EAy
Para simplificar a obteno do erro absoluto nesse caso,
vamos fazer apenas uma estimativa. Para isso desprezamos o
termo EAx EAy . Assim:
EAxy ' x EAy + y EAx
Pela aproximao do erro absoluto acima, temos:
x EAy + y EAx
ERxy '
= ERx + ERy
x y
ERxy ' ERx + ERy

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Diviso

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Diviso

x
x + EAx
=
y
y + EAy
(1)

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Diviso

x
x + EAx
=
y
y + EAy

1
x + EAx

=
EA
y
1 + y y

(1)

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Diviso

x
x + EAx
=
y
y + EAy

1
x + EAx

=
EA
y
1 + y y
o termo entre parnteses tem a seguinte representao em
termos de srie infinita:

(1)

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Diviso

x
x + EAx
=
y
y + EAy

1
x + EAx

=
EA
y
1 + y y
o termo entre parnteses tem a seguinte representao em
termos de srie infinita:




EAy
EAy 2
EAy 3
1
=1
+

+
EA
y
y
y
1 + y y

(1)

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Nesse caso novamente fazemos uma aproximao, ou seja,


desprezamos os termos com potncia maior do que 1 e, em
seguida substitumos em (1)


EAy
x + EAx
x
'
1
y
y
y

EAx EAy
x EAy
x
EAx

= +

y
y
y 2
y 2

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Nesse caso novamente fazemos uma aproximao, ou seja,


desprezamos os termos com potncia maior do que 1 e, em
seguida substitumos em (1)


EAy
x + EAx
x
'
1
y
y
y

EAx EAy
x EAy
x
EAx

= +

y
y
y 2
y 2
desprezando a ltima parcela na soma acima obtemos
x EAy
x
x EAx
' +

y
y
y
y 2

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Nesse caso novamente fazemos uma aproximao, ou seja,


desprezamos os termos com potncia maior do que 1 e, em
seguida substitumos em (1)


EAy
x + EAx
x
'
1
y
y
y

EAx EAy
x EAy
x
EAx

= +

y
y
y 2
y 2
desprezando a ltima parcela na soma acima obtemos
x EAy
x
x EAx
' +

y
y
y
y 2
Logo, conclumos que
EA x '
y

y EAx x EAy
y 2

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Analogamente

y EAx x EAy y
ER '
x
y 2
EAy
EAx
=

= ERx ERy
x
y


x
y

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Analogamente

y EAx x EAy y
ER '
x
y 2
EAy
EAx
=

= ERx ERy
x
y


x
y

ou seja,
ER x ' ERx ERy
y

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Resumo
(
EAxy = EAx
 EAy


Adio e subtrao
y
x
ERxy = ERx x

ER
y
y
x y

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Resumo
(
EAxy = EAx
 EAy


Adio e subtrao
y
x
ERxy = ERx x

ER
y
y
x y
(
EAxy ' x EAy + y EAx
Multiplicao
ERxy ' ERx + ERy

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Resumo
(
EAxy = EAx
 EAy


Adio e subtrao
y
x
ERxy = ERx x

ER
y
y
x y
(
EAxy ' x EAy + y EAx
Multiplicao
ERxy ' ERx + ERy

EA x ' y EAx x EAy


y
y 2
Diviso
ER x ' ER ER

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Resumo
(
EAxy = EAx
 EAy


Adio e subtrao
y
x
ERxy = ERx x

ER
y
y
x y
(
EAxy ' x EAy + y EAx
Multiplicao
ERxy ' ERx + ERy

EA x ' y EAx x EAy


y
y 2
Diviso
ER x ' ER ER

Observao: as frmulas acima foram obtidas sem considerar


o erro de arredondamento ou truncamento no resultado final.
Vejamos um exemplo de como podemos calcular esses erros
em operaes aritmticas.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Exemplo: suponha que x, y , z e t estejam representado


exatamente na base 10. Faa uma estimativa para o erro total
no clculo de u = (x + y )z t. Use o erro relativo para os
clculos e considere que o sistema opera via arredondamento.

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vamos denotar por RAs o erro de arredondamento para a


primeira soma. Primeiramente considere a soma s = x + y .




y
x
+ ERy
+ RAs
ERs = ERx
x + y
y + y
= 0 + RAs

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vamos denotar por RAs o erro de arredondamento para a


primeira soma. Primeiramente considere a soma s = x + y .




y
x
+ ERy
+ RAs
ERs = ERx
x + y
y + y
= 0 + RAs
Logo,
|ERs | = |RAs | <

101t
2

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vamos denotar por RAs o erro de arredondamento para a


primeira soma. Primeiramente considere a soma s = x + y .




y
x
+ ERy
+ RAs
ERs = ERx
x + y
y + y
= 0 + RAs
Logo,
|ERs | = |RAs | <

101t
2

Agora tome m = s z
ERm = ERs + ERz + RAm = RAs + 0 + RAm

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Vamos denotar por RAs o erro de arredondamento para a


primeira soma. Primeiramente considere a soma s = x + y .




y
x
+ ERy
+ RAs
ERs = ERx
x + y
y + y
= 0 + RAs
Logo,
|ERs | = |RAs | <

101t
2

Agora tome m = s z
ERm = ERs + ERz + RAm = RAs + 0 + RAm
ento
|ERm | |RAs | + |RAm | =

101t
101t
+
= 101t
2
2

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Calculemos agora o erro de u = m t

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Calculemos agora o erro de u = m t




 

m
t
ERu = ERm
ERt
+ RAu

t
t
m
m



m
+ RAu
= ERm
t
m

Aritmtica de Ponto Flutuante (APF) Truncamento Arredondamento Overflow e Underflow Erros Erros de arredondamento e tru

Calculemos agora o erro de u = m t




 

m
t
ERu = ERm
ERt
+ RAu

t
t
m
m



m
+ RAu
= ERm
t
m
Logo,




m
101t

1t m


+

|ERu | |ERm |
+ |RAu | = 10
t
t
2
m
m



m
1
+
|ERm | <
101t
t 2
m
a estimativa para o erro total nesta operao.

Você também pode gostar