Explique, com exemplo numérico, como o cancelamento significativo pode afetar a precisão de uma operação com números em ponto flutuante. Por exemplo considere e que a máquina opera com 6 dígitos significativos.
Passo 1
O enunciado trata do fenômeno de cancelamento significativo em aritmética de ponto flutuante. Temos dois números
e a máquina só guarda 6 dígitos significativos em notação científica normalizada. Vamos ver como isso afeta a precisão de .
Passo 2
Primeiro normalizamos e arredondamos e para 6 dígitos significativos. Escrevemos ambos em forma
onde há exatamente 6 dígitos após remover zeros à esquerda. Para :
Como só podemos guardar 6 dígitos, olhamos os primeiros 6 dígitos “123456” e o sétimo dígito é “7”, então arredondamos para
De modo similar,
os primeiros 6 dígitos são “123451” e o sétimo é “2”, que não altera, ficando
Passo 3
Agora calculamos a diferença usando essas aproximações:
Ou seja, na máquina obtemos como resultado aproximado para .
Passo 4
O valor exato de é
Comparando com o resultado aproximado , vemos um erro de
ou cerca de 8%. Isso ocorre porque ao subtrair dois números muito próximos ocorre cancelamento de todas as casas iniciais iguais (“12345”), sobrando apenas as diferenças nos dígitos menos significativos, que já haviam sido arredondados. Assim perda de precisão é grande.
Resposta
O cancelamento significativo ao subtrair a e b aproximados leva a um resultado de 0,6 em vez de 0,5555, mostrando um erro de cerca de 8%.