Exercícios Resolvidos de Erros

Ver Teoria

Enunciado

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 x _ew = x _ + x _ + 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 _ .