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:
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: