Você está na página 1de 3

Cálculo Numérico

Prof. Vicente Helano


Aula 2

Aritmética de ponto flutuante

No que se segue, quanto não especificado explicitamente, será empregada a regra


de arredondamento para o mais próximo.

2.1 Operações aritméticas


Dados x, y ∈ R, definimos

• x ⊕ y = fl(fl(x) + fl(y))

• x y = fl(fl(x) − fl(y))

• x ⊗ y = fl(fl(x) × fl(y))

• x y = fl(fl(x)/ fl(y))

onde fl(·) retorna a representação em ponto flutuante de seu parâmetro de entrada.


Para realizar a adição ou a subtração, inicialmente, é necessário igualar os ex-
poentes de x e y, ajustando o menor dos expoentes.

2.2 Precisão de máquina


Seja y o menor real representável de modo exato em um formato numérico que seja
maior do que 1. Definimos a precisão de máquina  como sendo igual a y − 1.
Para o caso do formato numérico de 32 bits do IEEE, temos:

(1,00 . . . 1} −1,0)2 = 2−23


| {z
(23) bits

Portanto,  = 2−23 ≈ 1,192092896 × 10−7 . Já para precisão dupla,  = 2−52 ≈


2,220446049 × 10−16 .
Observação 1. Usando o arredondamento para o mais próximo, 1 +  > 1 e
1 + /2 == 1
Observação 2. De modo geral, em uma base β os números são distribuı́dos
regularmente em [1, β) separados por vazios de tamanho β 1−t .
Observação 3. Portanto, os vazios entre os números no intervalo [β n , β n+1 )
possuem tamanho igual a β n−t
Considere um formato binário com t bits na mantissa, considerando o bit implı́cito.
Seja x um número real positivo. Então

x = (1,d1 d2 . . . dt−1 dt dt+1 . . . )2 × 2e

O maior número deste formato menor ou igual a x é:

x− = (1,d1 d2 . . . dt−1 )2 × 2e

1 de 3
Cálculo Numérico
Prof. Vicente Helano
Aula 2

Já o menor número deste formato maior ou igual a x é:

x+ = ((1,d1 d2 . . . dt−1 + 0,00 . . . 1})2 × 2e


| {z
(t − 1) bits

Portanto, o vazio entre x− e x+ é 21−t × 2e

2.3 Erro de representação


Considere o sistema de precisão simples do IEEE. Seja:

x = (1,d1 d2 d3 . . . d21 d22 d23 d24 d25 . . . )2 × 2e ,

com emin ≤ e ≤ emax . Portanto, x pertence ao intervalo de números normais. Como:

RZ(x) = (1,d1 d2 d3 . . . d21 d22 d23 )2 × 2e

temos que |RZ(x) − x| = (0,000 . . . 000d24 d25 . . . )2 × 2e ≤ 2−23 × 2e .


Usando o arredondamento para o mais próximo, o erro absoluto máximo é
metade do valor acima, isto é,
1
|RN(x) − x| ≤ 2−24 × 2e =  × 2e
2
Sendo x normalizado, x = m × 2e , com 1 ≤ m < 2. Então, o erro relativo do
arredondamento para o mais próximo será
1 1
|RN(x) − x|  × 2e  × 2e 1 1
≤ 2 e
≤ 2
e
=  = β 1−t .
|x| m×2 2 2 2

2.4 Erro de aritmética finita


Dados x ∈ R e fl(x), já sabemos neste momento que

|fl(x) − x| 1
≤ 
|x| 2

Façamos δ = [fl(x) − x] /x. Então, pela desigualdade acima, |δ| ≤ 12 . Tomando a


definição de δ e isolando fl(x), temos que

fl(x) = x(1 + δ).

Agora, denote por uma das operações +, −, × ou /. Dados dois números em


um sistema de ponto flutuante x̂ = fl(x) e ŷ = fl(y), podemos escrever

fl(x̂ ŷ) = (x̂ ŷ)(1 + δ)

2 de 3
Cálculo Numérico
Prof. Vicente Helano
Aula 2

Exemplo 1. Sejam x e y números reais. Estime o erro relativo que ocorrerá na


operação x ⊕ y.
Com efeito,

x ⊕ y = [x(1 + δ1 ) + y(1 + δ2 )] (1 + δ3 )
= [(x + y) + δ1 x + δ2 y] (1 + δ3 )
≈ (x + y) + x(δ1 + δ3 ) + y(δ2 + δ3 ),

supondo δ1 δ3 = δ2 δ3 ≈ 0. Assim,

|(x + y) − (x ⊕ y)|
ER(x ⊕ y) =
|(x + y)|

x(δ1 + δ3 ) + y(δ2 + δ3 )

(x + y)

Exemplo 2. Obtenha um limitante para o erro da operação

fl(ẑ × fl(x̂ + ŷ))

onde x̂ = fl(x), ŷ = fl(y) e ẑ = fl(z).


Sabemos que
fl(x̂ + ŷ) = (x̂ + ŷ)(1 + δ1 ),
para algum δ1 , com |δ1 | ≤ /2. Pelo mesmo motivo,

fl(ẑ × fl(x̂ + ŷ)) = [ẑ × fl(x̂ + ŷ)] (1 + δ2 )


= ẑ × (x̂ + ŷ)(1 + δ1 )(1 + δ2 )
= ẑ × (x̂ + ŷ)(1 + δ1 + δ2 + δ1 δ2 )
≈ ẑ × (x̂ + ŷ)(1 + δ1 + δ2 )
= ẑ × (x̂ + ŷ)(1 + δ)

fazendo δ = δ1 + δ2 e supondo |δ1 δ2 | ≤ 2 /4 ≈ 0. Observe que |δ| = |δ1 + δ2 | ≤


|δ1 | + |δ2 | ≤ /2 + /2 = .

Referências
[1] E. Ward Cheney and David R. Kincaid. Numerical Mathematics and Computing.
Brooks/Cole Publishing Co., Pacific Grove, CA, USA, 6th edition, 2007.

[2] Jean-Michel Muller, Nicolas Brisebarre, Florent de Dinechin, Claude-Pierre


Jeannerod, Vincent Lefèvre, Guillaume Melquiond, Nathalie Revol, Damien
Stehlé, and Serge Torres. Handbook of Floating-Point Arithmetic. Birkhäuser
Boston, Boston, 2010.

Última atualização em 23 de fevereiro de 2018

3 de 3

Você também pode gostar