Considere a máquina de ponto flutuante M(2,4,-3,3) com arredondamento.
Escreva os números abaixo na forma da máquina e determine o erro absoluto e o erro relativo em cada caso:
(d) 3,1416

Passo 1

O enunciado pede para escrever o número 3,1416 na forma da máquina de ponto flutuante M(2,4,-3,3) com arredondamento, e calcular o erro absoluto e o erro relativo. As informações dadas são:
  • base \beta=2;
  • precisão (número de dígitos significativos) t=4;
  • intervalo de expoentes e_{\min}=-3 e e_{\max}=3;
  • arredondamento para o número da máquina mais próximo.
O que preciso entregar para este número:
  • a representação na máquina (forma normalizada em base 2 com t=4 dígitos);
  • o valor decimal correspondente ao número da máquina;
  • o erro absoluto =|\,\text{valor exato}-\text{valor máquina}\,|á;
  • o erro relativo =\dfrac{\text{erro absoluto}}{|\text{valor exato}|}.

Passo 2

Entendendo a forma da máquina M(2,4,-3,3). Numa máquina normalizada com base 2 e t=4 dígitos:
  • todo número normalizado tem a forma \pm(d_1.d_2d_3d_4)_2\times 2^{e}, com d_1=1 (ou seja, o primeiro dígito é 1) e e_{\min}\le e\le e_{\max};
  • portanto a mantissa tem 1 dígito inteiro (sempre 1) e t-1=3 dígitos fracionários em base 2;
  • com arredondamento: mantém-se até o terceiro dígito fracionário e arredonda-se considerando o bit seguinte (se for maior que meio, arredonda-se para cima; se for exatamente meio, aplica-se a regra de empate — aqui não haverá empate exato porque a expansão de 3,1416 não termina em um padrão exato simples).

Passo 3

Normalizar 3,1416. Escreve-se 3,1416 na forma 1.\text{frac}\times 2^{e}:
3,1416 = 1,5708 \times 2^{1}.
Logo precisamos representar em binário 1,5708 com t=4 dígitos binários (1.d_2d_3d_4)_2.

Passo 4

Encontrar os dígitos binários da parte fracionária de 1,5708. Faço a conversão por multiplicações sucessivas da parte fracionária 0,5708:
\begin{aligned} 0,5708\times 2 &= 1,1416 \quad\Rightarrow\quad d_2=1,\\ \text{resto}=0,1416,\\[4pt] 0,1416\times 2 &= 0,2832 \quad\Rightarrow\quad d_3=0,\\ \text{resto}=0,2832,\\[4pt] 0,2832\times 2 &= 0,5664 \quad\Rightarrow\quad d_4=0,\\ \text{resto}=0,5664,\\[4pt] 0,5664\times 2 &= 1,1328 \quad\Rightarrow\quad d_5=1,\\ \text{resto}=0,1328,\\[4pt] 0,1328\times 2 &= 0,2656 \quad\Rightarrow\quad d_6=0,\\ \text{resto}=0,2656,\\[4pt] 0,2656\times 2 &= 0,5312 \quad\Rightarrow\quad d_7=0,\\ \text{resto}=0,5312,\\[4pt] 0,5312\times 2 &= 1,0624 \quad\Rightarrow\quad d_8=1,\\ \text{resto}=0,0624,\\\ \end{aligned}
Assim, os primeiros bits da mantissa (além do 1 inicial) são
1,\\ d_2,d_3,d_4,d_5,\dots = 1,\\\ 1,0,0,1,\dots
Ou seja, em binário temos aproximadamente
1,5708 \approx (1,1001\ldots)_2.]

Passo 5

Arredondamento para t=4 dígitos: como a mantissa da máquina tem a forma (1.d_2d_3d_4)_2, precisamos manter d_2,d_3,d_4 e olhar o bit seguinte d_5 para arredondar.
  • Aqui d_2=1,\\ d_3=0,\\ d_4=0 e o próximo bit d_5=1 (além disso há bits não nulos depois), portanto é maior que meio e devemos arredondar para cima no último bit mantido.
  • Arredondando, os três bits fracionários d_2d_3d_4 = 100 tornam-se 101.
Logo a mantissa na máquina é (1,101)_2 e o número da máquina é
\text{fl}(3,1416) = (1,101)_2\times 2^{1}.

Passo 6

Calcular o valor decimal da representação da máquina. Primeiro converto a mantissa binária:
(1,101)_2 = 1 + \tfrac{1}{2} + 0\cdot\tfrac{1}{4} + \tfrac{1}{8} = 1 + 0,5 + 0 + 0,125 = 1,625.
Multiplicando por 2^{1}:
\text{fl}(3,1416) = 1,625\times 2 = 3,25.
Portanto o número representado na máquina mais próximo de 3,1416 é 3,25.

Passo 7

Calcular o erro absoluto e o erro relativo.
Erro absoluto:
\text{erro absoluto} = \big|\,3,1416 - 3,25\,\big| = 0,1084.
Erro relativo:
\text{erro relativo} = \dfrac{0,1084}{|3,1416|} \approx 0,034500\ldots \approx 0,03450.
Em porcentagem isso é cerca de 3,450\%.

Passo 8

Resumo rápido para a prova (dica prática): para converter um número decimal positivo para M(2,4,\dots),
  • normalize para 1.\text{frac}\times 2^{e};
  • gere os bits fracionários por multiplicação por 2 até ter t-1 bits fracionários e um bit extra para decidir o arredondamento;
  • aplique arredondamento para o mais próximo; verifique estouro/subfluência de expoente (aqui não ocorreu porque e=1 está dentro de [-3,3]).
Força aí — deu trabalho mas agora tu sabe fazer isso passo a passo!

Resposta

\text{fl}(3,1416) = (1,101)_2\times 2^{1} = 3,25
Erro absoluto =0,1084
Erro relativo \approx 0,03450

Exercícios relacionados