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:
(c) 20

Passo 1

O enunciado dá uma máquina de ponto flutuante M(2,4,-3,3) com arredondamento e pede, para o número 20:
  • escrever 20 na forma da máquina (isto é, a representação em ponto flutuante desta máquina);
  • determinar o erro absoluto e o erro relativo.
    As informações relevantes fornecidas são:
  • base \beta=2;
  • precisão (número de dígitos da mantissa) t=4;
  • expoente mínimo L=-3 e máximo U=3;
  • modo de arredondamento para a mantissa (arredondamento para o mais próximo).

Passo 2

O que significa a forma da máquina M(2,4,-3,3) (breve aula):
  • Um número normalizado representável tem a forma
\pm (d_0.d_1d_2\ldots d_{t-1})_2 \times 2^{e},
com d_0\neq 0. Em base 2 isso significa d_0=1, então a mantissa tem a forma (1.b_1 b_2 b_3)_2 porque t=4 (um dígito “1” mais t-1=3 bits fracionários).
  • O expoente e deve satisfazer L \le e \le U, ou seja -3 \le e \le 3.
  • O operador \operatorname{fl}(x) é o número da máquina mais próximo de x (arredondamento).
  • Erro absoluto e erro relativo, fórmulas que usaremos:
\text{Erro absoluto} = |\;x - \operatorname{fl}(x)\;|, \qquad \text{Erro relativo} = \frac{|\;x - \operatorname{fl}(x)\;|}{|x|}.

Passo 3

Vamos converter 20 para binário e normalizar (passo a passo):
  • Primeiro, 20 em binário é 10100_2 porque 20=16+4=2^4+2^2.
  • Normalizando para a forma 1.\text{(bits)}\times 2^{e}: desloca-se a vírgula até ficar com primeiro dígito 1:
10100_2 = 1{.}0100_2 \times 2^{4}.
Então a representação binária normalizada exata é \;1{.}0100_2\times 2^{4}\;.

Passo 4

Comparar a normalizada requerida com as restrições da máquina:
  • A mantissa desejada é 1{.}0100_2. Como a máquina tem t=4 dígitos (ou seja mantissa 1.b_1b_2b_3), podemos acomodar exatamente os três primeiros bits fracionários b_1,b_2,b_3. No nosso caso os bits são 1{.}0100_2 — os três primeiros fracionários são 0,1,0 e o quarto bit (após esses três) é 0. Portanto a mantissa cabe perfeitamente (não há truncamento por excesso de bits).
  • O problema vem do expoente: a normalização exige e=4. Mas a máquina só permite expoente até U=3. Portanto o expoente requerido ( 4) está fora do intervalo permitido ( -3 a 3).

Passo 5

Calcular o maior número representável (para interpretar overflow):
  • O maior número normalizado positivo representável na máquina é
\text{Max} = (1.\underbrace{11\ldots1}_{t-1})_2 \times 2^{U}.
Aqui t-1=3 bits iguais a 1, então a mantissa máxima é 1.111_2. Assim
\text{Max} = 1{.}111_2 \times 2^{3}.
Converter para decimal: 1{.}111_2 = 1 + \tfrac{1}{2} + \tfrac{1}{4} + \tfrac{1}{8} = 1{,}875. Logo
\text{Max} = 1{,}875 \times 2^{3} = 1{,}875 \times 8 = 15.
Portanto o maior número finito representável é 15. Como 20>15, o número 20 está fora do intervalo representável → ocorre overflow.

Passo 6

Conclusão sobre representação e erros:
  • Como o expoente necessário e=4 excede o máximo U=3, o número \;20\; NÃO pertence ao conjunto de números normalizados representáveis pela máquina M(2,4,-3,3). O arredondamento da mantissa não resolve o problema porque o limite é do expoente.
  • Em aritmética de ponto flutuante padrão isto é sinalizado como overflow; normalmente a máquina devolve um indicador de overflow (por exemplo \infty ou sinaliza erro). Portanto \operatorname{fl}(20) não está definido como um número finito nesta máquina e, por isso, os erros absoluto e relativo clássicos (que usam \operatorname{fl}(20) finito) são indefinidos.
  • Observação prática (opcional): se, hipoteticamente, a implementação em vez de “infinito” optasse por saturar ao maior número finito representável (comportamento de algumas implementações simples), então a representação aproximada seria \operatorname{fl}_{\text{sat}}(20)=15 e os erros seriam
\text{Erro absoluto}_{\text{sat}} = |20-15| = 5, \qquad \text{Erro relativo}_{\text{sat}} = \frac{5}{20} = 0,25.
Mas este caso corresponde a uma política de saturação e não ao comportamento teórico padrão de uma máquina com formato M(2,4,-3,3), onde simplesmente não existe representação finita para 20.

Resposta

Representação na máquina: não representável (overflow), pois o expoente necessário é e=4>U=3.
Erro absoluto: não definido (overflow).
Erro relativo: não definido (overflow).

Exercícios relacionados