Teoria

Erros Absolutos e Relativos

Fala meus queridos, tudo certinho? Vamos relembrar um pouquinho uma teoria que é fundamental pro encaminhamento das ciências exatas. Principalmente quando fazemos o comparativo de experimentos e teorias! Adivinhe só qual é? ERROS!

Nós começamos entendendo um pouco sobre como máquinas funcionam e como os erros costumam aparecer, vamos pro objetivo dessa nossa conversinha. Estudar os erros de verdade!

O Erro numérico costuma ser a diferença entre o valor verdadeiro e uma aproximação, recebendo o nome de Erro Absoluto.

E A = x - x -

Nesse caso, x é o valor verdadeiro e x - é o valor aproximado.

Geralmente nós não conhecemos o valor exato do que estamos querendo aproximar. Nesse caso, é impossível obtermos o valor exato do erro absoluto. A solução então é encontrar um limitante superior ou uma estimativa para o erro.

Veja bem, sabemos que 2 está entre 1.41,1.42 . Então tomando 2 como um valor qualquer dentro desse intervalo temos garantidamente que:

E A = 1,42 - 1,41 = 0,01

E A < 0.01

Imagine agora que temos um número x ∈ 3299.8,3300 representado por x ¯ = 3299.9 . E um número y ∈ 1.5,1.7 representado por y - = 1.6 . Em ambos os casos temos o mesmo limitante superior para o erro:

E A x < 0.1

E A y < 0.1

Hmm... certo. Será que podemos afirmar que a precisão é a mesma? Vamos usar um exemplo literal pra ficar mais claro. Pensa assim, o que é pior, você errar por 10 c m a medida da altura de um prédio ou errar por 10 c m a medida da largura de um caderno?

Poxa vida, errar em 10 c m a medida da largura de um caderno?! Isso é muita coisa né? Errar 10 cm em um caderno é quase como errar o tamanho dele como um todo. Mas, o que são 10 c m na altura de um prédio gigantesco? é insignificante. Quando comparamos a ordem de grandeza das coisas fica fácil, mas como fazer isso matematicamente?

Mas agora imagine, uma indústria de papel e celulose, vai preparar papéis para encadernar e erra acidentalmente 10 de toooooooooooooooooooooooodo aquele material.

Concorda comigo que é um baita de um prejuízo? Então o PROBLEMA principal desse método é que ele NÃO LEVA EM CONTA A GRANDEZA!!!!!

E é aaaaaaaaaaí que entra o nosso Erro Relativo! Ele é a relação entre o erro absoluto e o valor exato. E R = E A x

No entanto, como muitas vezes não temos o valor exato, é possível usarmos a aproximação no denominador. Encontrando o erro relativo daqueles exemplos, temos, aí por via de regra você pode usar o valor aproximado sem peso na consciência:

E R = E A x -

E R x = E A x x ≈ E A x x - < 0.1 3299.9 ≈ 3.03 × 10 - 5

E R y = E A y y ≈ E A y y - < 0.1 1.6 = 0.062

No dia a dia da vida real, geralmente representarmos o erro relativo como uma porcentagem. Dessa forma, os exemplos acima ficariam:

E R x ≈ 0.00303 %

E R y = 6.25 %

Está mais que confirmado então que o número x está sendo representado com precisão bem maior que o y . Ou seja, dependendo da ordem de grandeza dos números envolvidos, o erro absoluto não é suficiente para julgarmos a precisão de uma medida ou um cálculo.

Erros de Arredondamento e Truncamento em um Sistema de Aritmética de Ponto Flutuante

Deu pra dar uma relembrada boa em erros? Ótimo!!!! Então segue o jogo.

No tópico sobre aritmética de ponto flutuante vimos como as máquinas representam os números, vimos também que há um limite de b i t s que podem ser representados na mantissa. Isso significa que existe um limite de precisão que o sistema pode representar.

Veja esse exemplo: em um sistema na base ( β = 10 ) com 5 dígitos na mantissa ( k = 5), como ficaria a representação do número 4293.19 ?

0.429319 × 10 4

Hmmmmm..., mas ele não pode ser apresentado assim né? Cabem só 5 dígitos na mantissa, então temos duas opões: arredondamento ou truncamento:

Seria representado como 0.42932 × 10 4 caso optássemos pelo arredondamento ou como 0.42931 × 10 4 caso o sistema usasse o truncamento. Existe algum erro envolvido??? Com toda certeza, lembra do que falamos em algarismos significativos sempre haverá um número duvidoso e nele incide o erro. Por isso é meeeeeega importante que você faça o arrendondamento correto, para evitar o agravamento desses erros.

Para o arredondamento teríamos:

E A = 4293.19 - 4293.2 = 0.01

E R = E A 4293.19 = 2.33 × 10 - 6

E para o truncamento:

E A = 4293.19 - 4293.1 = 0.09

E R = E A 4293.19 = 2.1 × 10 - 5

Como vimos, o arredondamento gera erros menores, mas exige um tempo maior de execução. Em geral, seja e o expoente do número em sua representação normalizada em ponto flutuante e t o número de b i t s na mantissa, temos como limitantes para o erro por truncamento:

E A < 10 e - t

E R < 10 - t + 1

No nosso exemplo temos e = 4 e t = 5 , logo:

E A < 10 - 1

E R < 10 - 4

Já para o arredondamento, temos como limitantes:

E A < 1 2 × 10 e - t

E R < 1 2 × 10 - t + 1

No nosso exemplo,

E A < 1 2 × 10 - 1

E R < 1 2 × 10 - 4

Comprovando mais uma vez que o arredondamento acarreta erros menores.

Erros nas Operações Aritméticas de Ponto Flutuante

Quando falamos em erros, eles podem estar presentes em diversas esferas. Veja bem, a maior parte dos estudos científicos, experimentais, projetos estão propensos a erro em algum momento.

Geralmente pensamos no erro humano que é o mais normal, que pode estar em medidas erradas, erros em experimento, perda de material e etc. Em laboratório, alguns equipamentos marcam a quantidade de erros que eles podem gerar. Somando isso, a representação errada de números... eh, a lista aumenta cada vez mais. E é por isso, que esse assunto é bem importante.

Mas as máquinas também erram ok? Então não fique triste!

Além daqueles erros na representação de números (que acontecem por conta de arredondamento, quantidade de números na mantissa que já conversamos) ...

As operações aritméticas feitas por um computador não são exatas e também contém erro!!! Vamos ver um exemplo para ficar mais claro.

Imagine um sistema de aritmética de ponto flutuante de cinco dígitos, na base 10 . Suponha x = 6 7 e y = 2 3 . Usando truncamento para calcular x + y , x - y , x × y e x / y nós teríamos:

x = 6 7 = 0 . 857142 ¯

y = 2 3 = 0 . 6 ¯

A representação no sistema ficaria:

x = 0.85714 × 10 0

y = 0.66666 × 10 0

Sendo assim:

x + y = 0.85714 + 0.66666 = 1.5238

x + y = 0.15238 × 10 1

x - y = 0.85714 - 0.66666 = 0.19048

x - y = 0.19048 × 10 0

x × y = 0.85714 × 0.66666 = 0.5714209524

x × y = 0.57142 × 10 0

x y = 0.85714 0.66666 = 1 . 28572 ¯

x y = 0.85714 0.66666 = 0.12857 × 10 1

Os erros de cada operação seriam:

Pra minimizar isso existem algumas técnicas que ajudam a reduzir bastante os erros incumbidos nessas operações.

Mas, espera aí... não é só somar e subtrair ?????????

Nãaaaaaaaaaaaaaaaaaao.

Vamos dar uma olhadinha aqui. A primeira regra é que a ADIÇÃO E SUBTRAÇÃO na aritmética de ponto flutuante requer o alinhamento dos pontos decimais dos dois números. Beleza, mas o que isso significa? Basicamente a mantissa do número de menor expoente deve ser deslocada para direita até que a base decimal seja a mesma. Vamos ver como fica?

Seja x = 9370 e y = 12,72 , efetue a operação x + y   . Vamos lá!

Você provavelmente pensou assim né:

x + y = 9370 + 12,47

Mas na aritmética de ponto flutuante nós devemos respeitar as regras e transformar todo mundo em base decimal!

x + y   = 0,9370 . 10 4 + 0,1272 . 10 2

Tá melhorando, o que falta agora? Isso mesmo, igualar a base do número de menor expoente ao número de maior expoente:

x + y   = 0,9370 . 10 4 + 0 ,   001272 . 10 4

Basicamente nós enchemos de zeros a esquerda até chegar em 10 4 .

Utilizando precisão dupla, ou seja, aqui nós usamos a representação com k = 4 , mas fazemos os cálculos com k > 4 . Só mudamos na hora de dar o resultado final utilizando arredondamento ou truncamento, assim nós minimizamos a tal da propagação de erro.

x + y   = 0,938272 . 10 4

Fazendo arredondamento:

x + y   = 0,9383 . 10 4

Com truncamento:

x + y   = 0,9382 . 10 4

Nós não podemos representar x + y deforma exata nesse sistema, mas podemos usar a mais próxima do valor real o arredondamento.

Mas e no caso de MULTIPLICAÇÃO e DIVISÃO? Nesse caso o processo é até mais fácil, nós só utilizamos propriedades de potência. Veja bem, primeiro transformamos todo mundo em base 10. Até aí tudo bem... aí nós separamos as operações em (base)*(mantissa) . Parece complicado, mas você vai ver que é até mais fácil, vamos usar o exemplo anterior!

Seja x = 9370 e y = 12,72 , efetue a operação x × y . Vamos lá!

Mas na aritmética de ponto flutuante nós devemos respeitar as regras e transformar todo mundo em base decimal!

x × y   = 0,9370 . 10 4 × 0,1272 . 10 2

Tá melhorando, o que falta agora? Unir as mantissas e unir os expoentes:

x × y   = ( 0,9370 × 0,1272 ) × ( 10 4 × 10 2 )

Multiplicar as mantissas é fácil né? os expoentes também! Tem uma propriedade de potência que envolve multiplicação de expoentes diferentes e bases iguais: Repete a base e soma os expoentes (tem toda uma explicação matemática encima disso, mas pro que queremos essa explicação já basta).

x × y   = ( 0,9370 × 0,1272 ) × ( 10 4 + 2 )

x × y   = 0,1191864.10 6

Agora é só colocar representar corretamente os algarismos com k = 4 :

No arredondamento:

x × y   = 0,1192.10 6

No truncamento:

x × y   = 0,1191.10 6

Molezinha né? Terminamos por aqui!

#PartiuExercícios

Erros de Arredondamento e Truncamento em um Sistema de Aritmética de Ponto Flutuante

Erros nas Operações Aritméticas de Ponto Flutuante

Exercícios Resolvidos

Exercício Resolvido #1

Consideremos o valor exato e aproximado de um determinado número.

a e x a t o = 2345,713

a a p r o x i m a d o = 2345,000

  1. Calcule o Erro Absoluto e Erro Relativo para os valores dados acima.
  2. Consideremos o valor exato a e x a t o = 1,713 e valor aproximado a a p r o x i m a d o = 1,000

Passo 1

  1. Calcule o Erro Absoluto e Erro Relativo para os valores dados acima.
  2. a e x a t o = 2345,713

    a a p r o x i m a d o = 2345,000

    Vamos lá, as fórmulas de Erros Absoluto e Relativo nos perseguem deeeeeeeeesde a Física 1, mas acredite, são fórmulas bem importantes pra vida real e nos impedem de cometer erros grotescos que podem derrubar uma ponte heheh

    Então, espero do fundo do meu coração que você guarde essas fórmulas com muito carinho .

    Vamos lá, começamos pelo Erro Absoluto:

    E A b s o l u t o = a e x a t o - a a p r o x i m a d o

    É só substituir os valores:

    E A b s o l u t o = 2345,713 - 2345,000

    E A b s o l u t o = 0,713

    E no caso do Erro Relativo?

    E R e l a t i v o = a e x a t o - a a p r o x i m a d o a e x a t o

    Hmmmmm... que eu faço mesmo? Sim amigo, só substituímos:

    E R e l a t i v o = 2345,713 - 2345,000 2345,713

    E R e l a t i v o = 0,00030396

    Geralmente o Erro Relativo é dado em termos percentuais e pode ser escrito assim:

    E R e l a t i v o % = 0,030396 %

    Viu só, nem gastamos muitos neurônios aqui e ainda da tempo de fazer um lanchinho!

    Passo 2

  3. Consideremos o valor exato a e x a t o = 1,713 e valor aproximado a a p r o x i m a d o = 1,000

a e x a t o = 1,713

a a p r o x i m a d o = 1,000

Agora veja bem, vamos fazer exatamente o que fizemos lá encima né?

E A b s o l u t o = a e x a t o - a a p r o x i m a d o

É só substituir os valores:

E A b s o l u t o = 1,713 - 1,000

E A b s o l u t o = 0,713

Perceba que esse erro absoluto deu exatamente o mesmo para os dois casos.E no caso do Erro Relativo?

E R e l a t i v o = a e x a t o - a a p r o x i m a d o a e x a t o

Hmmmmm... que eu faço mesmo? Sim amigo, só substituímos:

E R e l a t i v o = 1,713 - 1,000 1,713

E R e l a t i v o = 0,41622

Geralmente o Erro Relativo é dado em termos percentuais e pode ser escrito assim:

E R e l a t i v o % = 41,622 %

Espera aí... Os erros absolutos ficaram iguais já que a diferença entre os dois termos é a mesma... mas a proporção não é considerada no Erro Absoluto.

Aí é que entra o Erro Relativo, ele considera a proporção: tipo assim, perceba que no segundo o carro o Erro Relativo foi beeeeeeeeeeeeeem maior. Considere assim, quanto menor for a escala considerada, maior será o erro!

Resposta

  1. E A b s o l u t o = 0,713 ; E R e l a t i v o % = 0,030396 % .
  2. E A b s o l u t o = 0,713 ;   E R e l a t i v o % = 41,622 % .

Exercício Resolvido #2

Encontre o maior intervalo para no qual p * deve estar para aproximar p com erro relativo de no máximo 10 - 4 para cada favor de p .

a π

b e

c 2

d 7 3

Passo 1

Queremos um erro relativo de no máximo 10 - 4 . Ou seja, queremos p * , tal que:

p - p * p ≤ 10 - 4

Passo 2

a p = π

π - p * π ≤ 10 - 4

π - p * ≤ π × 10 - 4

- π × 10 - 4 ≤ π - p * ≤ π × 10 - 4

- π × 10 - 4 ≤ p * - π ≤ π × 10 - 4

π - π × 10 - 4 ≤ p * ≤ π + π × 10 - 4

O maior intervalo será então:

π - π × 10 - 4 , π + π × 10 - 4

Ou, aproximadamente:

3.14128,3.14191

Conseguiu ver o padrão? O intervalo vai ser sempre dado por p - p × 10 - 4 , p + p × 10 - 4 !

Passo 3

b p = e

e - e × 10 - 4 , e + e × 10 - 4 ≈ 2.71801,2.71855

Passo 4

c p = 2

2 - 2 × 10 - 4 , 2 + 2 × 10 - 4 ≈ 1.41407,1.41435

Passo 5

d p = 7 3

  7 3 -   7 3 × 10 - 4 ,   7 3 +   7 3 × 10 - 4 ≈ 1.91312,1.91274

Resposta

a   π - π × 10 - 4 , π + π × 10 - 4 ≈ 3.14128,3.14191

b e - e × 10 - 4 , e + e × 10 - 4 ≈ 2.71801,2.71855

c 2 - 2 × 10 - 4 , 2 + 2 × 10 - 4 ≈ 1.41407,1.41435

d   7 3 -   7 3 × 10 - 4 ,   7 3 +   7 3 × 10 - 4 ≈ 1.91312,1.91274

Exercício Resolvido #3

O número e pode ser definido por

e = ∑ n = 0 ∞ 1 n !   ,

onde n ! = n n - 1 … 2 × 1 para n ≠ 0 e 0 ! = 1 . Calcule o erro absoluto e relativo das seguintes aproximações de e :

a ∑ n = 0 5 1 n !

b   ∑ n = 0 10 1 n !

Passo 1

Bom, sabemos que o Erro Absoluto é a diferença entre o valor verdadeiro e a aproximação:

E A = x - x _

Onde x é o valor verdadeiro e x _ a aproximação.

Já o Erro Relativo é a relação entre o Erro Absoluto e o valor verdadeiro:

E R = E A x

Nesse caso nosso valor real é o próprio número e e a aproximação é dada pelo enunciado.

Já relembramos o que precisamos para resolver o item (a)

a Vamos abrir o somatório para descobrir o valor da aproximação:

∑ n = 0 5 1 n ! = 1 0 ! + 1 1 ! + 1 2 ! + 1 3 ! + 1 4 ! + 1 5 !

Resolvendo os fatoriais temos:

∑ n = 0 5 1 n ! = 1 1 + 1 1 + 1 2 + 1 6 + 1 24 + 1 120

= 163 60

Calculando o Erro Absoluto:

E A = x - x _

E A = e - 163 60 = 1.61516 × 10 - 3

Agora o Erro Relativo:

E R = E A x

E R = E A e = 5.94185 × 10 - 4

Passo 2

Vamos fazer a mesma coisa para o item (b)

b Vamos abrir o somatório para descobrir o valor da aproximação:

∑ n = 0 10 1 n ! = 1 0 ! + 1 1 ! + … + 1 9 ! + 1 10 ! = 9,864,101 3,628,800

Utilizando uma calculadora chegamos no seguinte valor:

∑ n = 0 10 1 n ! = 9,864,101 3,628,800

Calculando o Erro Absoluto:

E A = x - x _

E A = e - 9,864,101 3,628,800 = 2.73127 × 10 - 8

Agora o Erro Relativo:

E R = E A x

E R = E A e = 1.00478 × 10 - 8

Resposta

a

E A = 1.61516 × 10 - 3

E R = 5.94185 × 10 - 4

b

E A = 2.73127 × 10 - 8

E R = 1.00478 × 10 - 8

Exercício Resolvido #4

Usando um sistema de aritmética de ponto flutuante de 3 dígitos que utiliza arredondamento, faça os cálculos abaixo. Em seguida, calcule o erro absoluto e relativo de cada operação com pelo menos 5 dígitos.

a 133 + 0.921

b 133 - 0.499

c 121 - 0.327 - 119

d 121 - 119 - 0.327

e 13 14 - 6 7 2 e - 5.4

f - 10 π + 6 e - 3 62

g 2 9 ∙ 9 7

h π - 22 7 1 17

Passo 1

a

133 + 0.921 =

= 0.133 × 10 3 + 0.921 × 10 0 =

= 0.133 × 10 3 + 0.000921 × 10 3 =

= 0.133921 × 10 3 =

= 0.134 × 10 3

E A = 133.921 - 134 = 0.079

E R = E A 133.921 = 5.899 × 10 - 4

Passo 2

b

133 - 0.499 =

= 0.133 × 10 3 - 0.499 × 10 0 =

= 0.133 × 10 3 - 0.000499 × 10 3 =

= 0.132501 × 10 3 =

= 0.133 × 10 3

E A = 132.501 - 133 = 0.499

E R = E A 132.501 = 3 . 76601 × 10 - 3

Passo 3

c

121 - 0.327 - 119 =

= 0.121 × 10 3 - 0.327 × 10 0 - 0.119 × 10 3 =

= 0.121 × 10 3 - 0.000327 × 10 3 - 0.119 × 10 3 =

= 0.120673 × 10 3 - 0.119 × 10 3 =

= 0.121 × 10 3 - 0.119 × 10 3 =

= 0.002 × 10 3 =

= 0.2 × 10 1

E A = 1.673 - 2 = 0.327

E R = E A 1.673 = 0.19546

Passo 4

d

121 - 119 - 0.327 =

= 0.121 × 10 3 - 0.119 × 10 3 - 0.327 × 10 0 =

= 0.002 × 10 3 - 0.327 × 10 0 =

= 0.2 × 10 1 - 0.0327 × 10 1 =

= 0.1673 × 10 1 =

= 0.167 × 10 1

E A = 1.673 - 1.67 = 0.003

E R = E A 1.673 = 1.79319 × 10 - 3

Passo 5

e

13 14 - 6 7 2 e - 5.4 =

= 0.929 × 10 0 - 0.857 × 10 0 0.544 × 10 1 - 0.54 × 10 1 =

= 0.072 × 10 0 0.544 × 10 1 - 0.54 × 10 1 =

= 0.72 × 10 - 1 0.004 × 10 1 =

= 0.72 × 10 - 1 0 . 4 × 10 - 1 =

= 1.8 × 10 0 =

= 0.18 × 10 1

E A = 1.95354 - 1.8 = 0.15354

E R = E A 1.95354 = 0.078596

Passo 6

f

- 10 π + 6 e - 3 62 =

= - 0.314 × 10 2 + 0.163 × 10 2 - 0.484 × 10 - 1

= - 0.151 × 10 2 - 0.000484 × 10 2 =

= - 0 . 151484 × 10 2 =

= - 0 . 151 × 10 2

E A = - 15.15462 + 15.1 = 0.05462

E R = E A 15.15462 = 3.60418 × 10 - 3

Passo 7

g

2 9 ∙ 9 7 =

= 0.222 × 10 0 ∙ 0.129 × 10 1 =

= 0.028638 × 10 1 =

= 0 . 286 × 10 0

E A = 0.28571 4 - 0.286 = 0.2 86 × 10 - 3

E R = E A 0.28571 4 = 0.1 001 × 10 - 2

Passo 8

h

π - 22 7 1 17 =

= 0.314 × 10 1 - 0.314 × 10 1 0.588 × 10 - 1 =

= 0 0.588 × 10 - 1 =

= 0

E A = - 0.021496 - 0 = 0.021496

E R = E A 0.021496 = 1

Resposta

Exercício Resolvido #5

Seja uma máquina de base decimal com aritmética de ponto flutuante normalizado com 4 dígitos para a mantissa e 1 dígito para a característica. Para calcular a média aritmética dos números x = 0.5000 × 10 9 e y = 0.7000 × 10 9 nesta máquina é mais conveniente calcular x + y 2 ou x 2 + y 2 ? Justifique.

Passo 1

Primeiramente repare que aqui estamos na base decimal! A parte importante aqui é que temos apenas 1 dígito para a característica, que é o expoente! Ou seja, só podemos representar expoentes de 0 a 9 ! Se somarmos os números antes da divisão, teremos:

0.5000 × 10 9 + 0.7000 × 10 9 = 0.1200 × 10 10

Opa, apareceu um expoente 10 , ta vendo? Isso não poderia acontecer! Então é mais conveniente dividirmos antes de somarmos evitando esse problema:

0.5000 × 10 9 2 + 0 . 7 000 × 10 9 2 = 0.2500 × 10 9 + 0.3500 × 10 9 = 0.6000 × 10 9

Resposta

x 2 + y 2

Pois assim evitaríamos o expoente 10 10 que é não pode ser representado com apenas 1 dígito para a característica.

Exercício Resolvido #6

Supondo que as operações abaixo sejam processadas em uma máquina de base decimal com 4 dígitos na mantissa e tomando x 1 = 0.3491 × 10 4 e x 2 = 0.2345 × 10 0 calcule usando arredondamento:

a x 1 + x 2 - x 1

b x 2 + x 1 - x 1

c Analisando a e b o que se pode concluir em relação à propriedade associativa da adição em aritmética de ponto flutuante?

Passo 1

a x 1 + x 2 - x 1

0.3491 × 10 4 + 0.2345 × 10 0 - 0.3491 × 10 4 =

= 0.3491 × 10 4 + 0 . 0000 2345 × 10 4 - 0.3491 × 10 4 =

= 0.34912345 × 10 4 - 0.3491 × 10 4 =

= 0.3491 × 10 4 - 0.3491 × 10 4 =

= 0

Passo 2

b x 2 + x 1 - x 1

0.2345 × 10 0 + 0.3491 × 10 4 - 0.3491 × 10 4 =

= 0.2345 × 10 0 + 0 =

= 0.2345 × 10 0

Passo 3

c Analisando os resultados obtidos podemos concluir que a propriedade associativa não é sempre válida na adição em aritmética de ponto flutuante.

Resposta

a 0

b 0.2345 × 10 0

c Analisando os resultados obtidos podemos concluir que a propriedade associativa não é sempre válida na adição em aritmética de ponto flutuante.

Exercício Resolvido #7

Seja um sistema em aritmética de ponto flutuante de quatro dígitos, base decimal e com acumulador de precisão dupla. Dados os números: 𝑥 = 0,7237 × 104 , 𝑦 = 0,2145 × 10−3 , 𝑧 = 0,2585 × 101 .Efetue as seguintes operações, considere arredondamento e calcule o erro envolvido.

(a) x + y + z

(b) x - y - z

(c) x y

d) x y z

Passo 1

(a) x + y + z

Se : 𝑥 = 0,7237 × 104 , 𝑦 = 0,2145 × 10−3 , 𝑧 = 0,2585 × 101 ;

A adição e alinhamento na aritmética de ponto flutuante requer alinhamento dos pontos decimais de todos os números envolvidos!

Mas, como fazemos isso?

A mantissa dos termos com menor expoente deve ser colocado na mesma base e expoente que o termo de maior expoente. Confuso? Basicamente, o menor expoente vai ser deslocado para direita .

x + y + z =   0,7237.10 4 + 0,2145.10 - 3 +   0,2585.10 1

Agora vamos lá, o que ta faltando? Issooooo mexxxxmoooo! Vamos alinhar todos os termos e mantissa!

x + y + z =   0,7237.10 4 + 0,00000002145.10 4 +   0,0002585.10 4

x + y + z =     0,7240.10 4

De boa né?

Qual o erro envolvido?

E R = 7239.5852145 - 7240 7239.5852145 = 0.57294 . 10 - 4

Passo 2

(b) x - y - z

Se : 𝑥 = 0,7237 × 104 , 𝑦 = 0,2145 × 10−3 , 𝑧 = 0,2585 × 101 ;

Vamos fazer o quê??? Isso mesmo, alinhamento da mantissa!

A mantissa dos termos com menor expoente deve ser colocado na mesma base e expoente que o termo de maior expoente.

x - y - z =   0,7237.10 4 - 0,2145.10 - 3 -   0,2585.10 1

Agora vamos lá, o que ta faltando? Issooooo mexxxxmoooo! Vamos alinhar todos os termos e mantissa!

x - y - z =   0,7237.10 4 - 0,00000002145.10 4 - 0,0002585.10 4

x - y - z =     0,7234.10 4

E R = 7234.4147855 - 7234 7234.4147855 = 0.57335 . 10 - 4

Só isso, moleza né?

Passo 3

(c) x y

Se : 𝑥 = 0,7237 × 104 , 𝑦 = 0,2145 × 10−3 , 𝑧 = 0,2585 × 101 ;

Bora montar a divisão!

x y = 0,7237.10 4 0,2145.10 - 3

Vamos fazer o quê??? Isso mesmo, alinhamento da mantissa!

x y = 0,7237.10 4 0,00000002145.10 4 = 3,3739.10 7 = 0,3374.10 8

E R = 33 . 738927 ¯ × 10 6 - 33.74 × 10 6 33 . 738927 ¯ × 10 6 = 0.31781 . 10 - 4

Boaaaa ! Bora fazer o último que você ta quase craque!

Passo 4

d) x y z

Se : 𝑥 = 0,7237 × 104 , 𝑦 = 0,2145 × 10−3 , 𝑧 = 0,2585 × 101 ;

Bora montar a divisão!

x y z =   0,7237.10 4 0,2145.10 - 3 0,2585.10 1

Vamos montar o alinhamento da mantissa!

x y z =   0,7237.10 4 0,00000002145.10 4 0,0002585.10 4

x y z =   0,6005 × 10 0

E R = 0.6005170213 - 0.6005 0.6005170213 = 0.283447 . 10 - 4

Show de bola!!

Resposta

(a) x + y + z =     0,7240.10 4       E R = 0.57294 . 10 - 4

(b) x - y - z =     0,7234.10 4       E R = 0.57335 . 10 - 4

(c) x y = 0,3374.10 8                                           E R = 0.31781 . 10 - 4

d) x y z = 0,6005 . 10 0                         E R = 0.28345 . 10 - 4

Exercício Resolvido #8

Considere uma máquina cujo sistema de representação de números é definido por: β = 10 , t = 4 , l = - 5 e u = 5 . Pede-se:

a Se a = 42450 e b = 3 qual o resultado de a + b ?

b Qual o resultado da soma

S = 42450 + ∑ k = 1 10 3

nesta máquina?

c Idem para a soma:

S = ∑ k = 1 10 3 + 42450

Passo 1

a

42450 + 3 = 0.4245 × 10 5 + 0.3 × 10 1 =

= 0.4245 × 10 5 + 0.00003 × 10 5 = 0.42453 × 10 5 =

= 0.4245 × 10 5

Passo 2

b Repare que sabemos que o resultado da soma 42450 + 3 nessa máquina vale 42450 . Então cada vez que somamos individualmente o 3 ao 42450 ele vai sumindo devido à precisão limitada da máquina, de modo que:

42450 + ∑ k = 1 10 3 = 42450 + 3 ⏟ 42450 + 3 ⏞ 42450 + 3 ⏟ 42450 + 3 ⏞ 42450 + 3 ⏟ .     .     . + 3 + 3 + 3 + 3 + 3 = 42450

Passo 3

c Agora ao invés de somarmos os 3 individualmente no 42450 , nós vamos soma-los entre si e depois adicionamos ao 42450 :

∑ k = 1 10 3 + 42450 = 30 + 42450 = 42480 = 0.4248 × 10 5

Resposta

a 42450

b 42450

c 42480

Exercício Resolvido #9

Considere uma máquina com sistema de representação de números definido por: base 10 , precisão de 6 dígitos na mantissa e expoente no intervalo: - 6,6 . Pede-se:

a Qual o menor e o maior número em módulo representáveis nesta máquina?

b Como será representado o número 189277.87 nesta máquina se for usado o arredondamento? E o truncamento?

c Se a = 257820 e b = 0.6 qual o resultado de a + b se for usado o arredondamento? E se for usado o truncamento?

d Considerando a letra acima, qual o resultado da operação a + ∑ i = 1 10 b , considerando que está sendo realizado o truncamento?

e Repetir o item d , para a operação ∑ i = 1 10 b + a .

Passo 1

a A máquina funciona na base decimal com 6 dígitos na mantissa e expoente indo de - 6 até 6 . Então, o maior número será:

0.999999 × 10 6

E o menor número:

0.100000 × 10 - 6

Passo 2

b Usando o arredondamento:

0.189278 × 10 6

Usando o truncamento:

0.189277 × 10 6

Passo 3

c Usando o arredondamento:

257820 + 0.6 = 0.25782 × 10 6 + 0.0000006 × 10 6 = 0.2578206 × 10 6 =

= 0.257821 × 10 6

Usando o truncamento:

257820 + 0.6 = 0.25782 × 10 6 + 0.0000006 × 10 6 = 0.2578206 × 10 6 =

= 0.257820 × 10 6

Passo 4

d Agora nós somaremos várias parcelas dos 0.6 e depois somaremos isso aos 257820:

  a + ∑ i = 1 10 b = 257820

Passo 5

e Usando o truncamento nós vimos que a soma individual de 257820 + 0.6 = 257820 . Se fizermos essa soma 10 vezes, o resultado continuará sendo o mesmo:

∑ i = 1 10 b + a = 6 + 257820 = 0.000006 × 10 6 + 0.25782 × 10 6 = 0.257826 × 10 6 =

= 257826

Resposta

a Maior número: 0.999999 × 10 6

Menor número: 0.100000 × 10 - 6

b Usando o arredondamento: 0.189278 × 10 6

Usando o truncamento: 0.189277 × 10 6

c Usando o arredondamento: 0.257821 × 10 6

Usando o truncamento: 0.257820 × 10 6

d 257820

e 257826

Exercício Resolvido #10

Um computador armazena números reais em binário utilizando 1   b i t para o sinal do número, 7   b i t s para o expoente e 8   b i t s para a mantissa. Admitindo que haja truncamento, quais os erros absoluto e relativo ao se tentar nele representar os números:

a 25.5

b 120.25

c 2.5

d 460.25

e 24.005

Passo 1

Os 7   b i t s do expoente variarão de 0000001 até 1111110 , isto é, de 1 até 126 . Como precisamos representar expoentes negativos, subtraímos 63 disso de modo que o expoente agora varie de - 62 até 63 .

Passo 2

Agora temos que passar nos números para binário e ver qual vai ser o erro:

a 25.5

25 2 = 12   e   r e s t o   1

12 2 = 6   e   r e s t o   0

6 2 = 3   e   r e s t o   0

3 2 = 1   e   r e s t o   1

1 2 = 0   e   r e s t o   1

25 10 = 11001 2

0.5 × 2 = 1 → D í g i t o   1

0.5 10 = 0.1 2

Logo,

25.5 10 = 11001.1 2

Representando na máquina:

11001.1 = 1.10011000 × 2 4

Não perdemos nenhuma casa decimal então não houve erro.

Passo 3

b 120.25

120 2 = 60   e   r e s t o   0

60 2 = 30   e   r e s t o   0

30 2 = 15   e   r e s t o   0

15 2 = 7   e   r e s t o   1

7 2 = 3   e   r e s t o   1

3 2 = 1   e   r e s t o   1

1 2 = 0   e   r e s t o   1

120 10 = 1111000 2

0.25 × 2 = 0.5 → D í g i t o   0

0.5 × 2 = 1 → D í g i t o   1

0.25 10 = 0.01 2

Logo,

120.25 10 = 1111000.01 2

Representando na máquina:

1111000.01 = 1 . 111000 01 × 2 6

Não perdemos nenhuma casa decimal então não houve erro.

Passo 4

c 2.5

2 10 = 10 2

0.5 10 = 0.1 2

2.5 10 = 10.1 2

Representando na máquina:

10.1 = 1.01000000 × 2 1

Não perdemos nenhuma casa decimal então não houve erro.

Passo 5

d 460.25

460 2 = 230   e   r e s t o   0

230 2 = 115   e   r e s t o   0

115 2 = 57   e   r e s t o   1

57 2 = 28   e   r e s t o   1

28 2 = 14   e   r e s t o   0

14 2 = 7   e   r e s t o   0

7 2 = 3   e   r e s t o   1

3 2 = 1   e   r e s t o   1

1 2 = 0   e   r e s t o   1

460 10 = 111001100 2

0.25 10 = 0.01 2

Logo,

460.25 10 = 111001100 . 01 2

Representando na máquina:

111001100.01 = 1 . 11001100 × 2 8

No final das contas representamos apenas o 460 , então o erro absoluto foi de:

460.25 - 460 = 0.25

E o relativo:

0.25 460.25 ≈ 5.43183 × 10 - 4

Passo 6

e 24.005

24 2 = 12   e   r e s t o   0

12 2 = 6   e   r e s t o   0

6 2 = 3   e   r e s t o   0

3 2 = 1   e   r e s t o   1

1 2 = 0   e   r e s t o   1

2 4 10 = 1100 0 2

0 . 00 5 × 2 = 0.01 → D í g i t o   0

0.01 × 2 = 0.02 → D í g i t o   0

0.02 × 2 = 0.04 → D í g i t o   0

0.04 × 2 = 0.08 → D í g i t o   0

0.08 × 2 = 0.16 → D í g i t o   0

0.16 × 2 = 0.32 → D í g i t o   0

0.32 × 2 = 0.64 → D í g i t o   0

0.64 × 2 = 1.28 → D í g i t o   1

0.28 × 2 = 0.56 → D í g i t o   0

0.56 × 2 = 1.12 → D í g i t o   1

0 . 00 5 10 = 0 . 0000000101 … 2

Logo,

24.005 10 = 11000 . 0000000101 … 2

Representando na máquina:

11000.0000000101 … = 1 . 10000000 × 2 4

No final das contas representamos apenas o 24 , então o erro absoluto foi de:

24.005 - 24 = 0.005

E o relativo:

0.005 24.005 = 2.0829 × 10 - 4

Resposta

a Nenhum erro.

b Nenhum erro.

c Nenhum erro.

d E A = 0.25

E R = 5.43183 × 10 - 4

e E A = 0.005

E R = 2.0829 × 10 - 4

Exercícios de Livros Relacionados

Idem para u = 3 underset(_)(x) e w = underset(_)(x) + underset(_)(x) + underset(_)(x) .
É interessante observar que a adição em aritmética de ponto flutuante nem sempre é associativa. Prova-se que dados n números xl' x2, ... , xn representados exatamente, o limite do erro total devido ao
Verifique de alguma forma que, se r F tem representação finita na base 2 com k dígitos, ou seja, r F=( 0 .d 1 d 2 · · · d k ) 2 , então sua representação na base 10 é também finita com k dígitos.
Sejam x e y as representações de x e y obtidas por arredondamento em um computador. Deduza expressões de limitante de erro para mostrar que o limitante do erro relativo de u = 3 x y é menor que o de v
Supondo que x é representado num computador por x _ , onde x _ é obtido por arredondamento, obtenha os limites superiores para os erros relativos de u = 2 x _ e w = x _ + x _ .