Questão 1 ( \_\_\_\_ /3,0)
Considere o sistema de ponto flutuante \mathrm{F}(10,3,-3,3). Considere ainda os números \mathrm{x}=3456.7, \mathrm{y}= 345.67, \mathrm{z}=34.567, \mathrm{w}=0,34567 e \mathrm{m}=0,00034567. Sobre essas condições, responda:
a) Quais são o menor e o maior números representáveis no sistema \mathrm{F}(10,3,-3,3) ?
b) Quais números exibidos nos enunciados são representáveis no sistema? Caso algum número não seja representável explique o motivo e indique se houve overflow ou underflow. Caso seja representável, exiba-o com truncamento e com arredondamento no sistema \mathrm{F}(10,3,-3,3).
c) Em cada número representável acima, exiba o erro absoluto e o erro relativo na aproximação por truncamento e por arredondamento.
d) Realize as seguintes operações em aritmética de ponto flutuante: \mathrm{z}+\mathrm{w}, \mathrm{z}-\mathrm{w}, \mathrm{z} . \mathrm{w} \mathrm{e} \mathrm{z} / \mathrm{w}.
e) Calcule o erro absoluto e erro relativo cometido no cálculo de z -w.

Passo 1

O enunciado pede várias coisas sobre o sistema de ponto flutuante \mathrm{F}(10,3,-3,3) e os números dados. Vou listar claramente o que é solicitado e quais dados temos.
  • Sistema: \mathrm{F}(10,3,-3,3).
    • Base \beta=10.
    • Precisão t=3 dígitos significativos (mantissa com 3 dígitos).
    • Exponentes válidos e no intervalo -3 \le e \le 3.
    • Números normalizados têm forma \pm d_0.d_1d_2\times10^{e} com d_0\in\{1,\dots,9\} e d_1,d_2\in\{0,\dots,9\}.
    • Não foram mencionados subnormais, então assumimos que NÃO há denormalizados; abaixo do menor normalizado representa-se como zero (underflow).
  • Números fornecidos:
    • x = 3456{,}7
    • y = 345{,}67
    • z = 34{,}567
    • w = 0{,}34567
    • m = 0{,}00034567
  • Perguntas:
    a) Qual o menor e o maior número representável no sistema?
    b) Quais dos números dados são representáveis? Se não, por quê (overflow ou underflow)? Se são representáveis, exibir suas representações por truncamento (chop) e por arredondamento (round-to-nearest) no sistema \mathrm{F}(10,3,-3,3).
    c) Para cada número representável, exibir o erro absoluto e o erro relativo entre o valor real e a aproximação por truncamento e por arredondamento.
    d) Em aritmética de ponto flutuante do sistema, calcular \mathrm{z}+\mathrm{w},\\ \mathrm{z}-\mathrm{w},\\ \mathrm{z}\cdot\mathrm{w} e \mathrm{z}/\mathrm{w}.
    e) Calcular o erro absoluto e o erro relativo cometidos no cálculo de \mathrm{z}-\mathrm{w} (comparando o resultado em ponto flutuante com o valor exato real \mathrm{z}-\mathrm{w}).

Passo 2

Conceitos e fórmulas que vamos usar (curtinho e prático):
  • Representação normalizada em base 10 com t=3: qualquer número não nulo representável tem forma
\pm d_0.d_1 d_2 \times 10^{e},\qquad d_0\in\{1,\dots,9\},
onde há exatamente 3 dígitos significativos d_0,d_1,d_2.
  • Menor positivo normalizado:
\min^+ = 1.00\times10^{e_{\min}} = 1{,}00\times10^{-3}.
  • Maior positivo:
\max^+ = 9.99\times10^{e_{\max}} = 9{,}99\times10^{3}.
  • Truncamento (chop): cortar depois dos t dígitos significativos, ignorando os posteriores.
  • Arredondamento (round-to-nearest, regra usada aqui): olhar o (t+1)-ésimo dígito; se \ge5 aumentar o t-ésimo dígito em 1 (propagando carries se necessário), caso contrário manter.
  • Erro absoluto:
\text{erro absoluto} = |x_{\text{aprox}} - x_{\text{exato}}|.
  • Erro relativo:
\text{erro relativo} = \frac{|x_{\text{aprox}} - x_{\text{exato}}|}{|x_{\text{exato}}|},
quando x_{\text{exato}}\ne0.
Observação sobre operações em ponto flutuante: aqui vou usar o procedimento padrão didático — representar primeiro os operandos no formato do sistema (usar a aproximação por arredondamento como valor armazenado), efetuar a operação em aritmética exata (com precisão infinita), e depois arredondar o resultado ao formato \mathrm{F}(10,3,-3,3). Justificativa: enunciado não especificou regra; é razoável e comum usar arredondamento para representar e também para resultados das operações.

Passo 3

Determinar se cada número cabe no intervalo de expoentes e escrever sua forma científica normalizada (antes de truncar ou arredondar):
  • x = 3456{,}7 = 3{,}4567\times10^{3}. Exponente 3 está no intervalo [-3,3], então o valor está dentro do alcance (sem overflow).
  • y = 345{,}67 = 3{,}4567\times10^{2}. Exponente 2 ok.
  • z = 34{,}567 = 3{,}4567\times10^{1}. Exponente 1 ok.
  • w = 0{,}34567 = 3{,}4567\times10^{-1}. Exponente -1 ok.
  • m = 0{,}00034567 = 3{,}4567\times10^{-4}. Exponente -4 está abaixo do mínimo e_{\min}=-3 → este número NÃO é representável; causa: underflow (valor não nulo menor que o menor normalizado). Sem subnormais, aproxima-se por zero.
Concluímos: todos exceto m estão no alcance; m underflows para zero.

Passo 4

Calcular as aproximações por truncamento e por arredondamento para x,y,z,w.
Regra aplicada: manter os primeiros t=3 dígitos significativos de 3,4,5,6,7 etc.
  • Para x = 3{,}4567\times10^{3}:
    • Truncamento: cortar após 3 dígitos significativos: 3{,}45\times10^{3} = 3450.
    • Arredondamento: olhar o 4.º dígito (que é 6\ge5) → incrementar o 3.º dígito: 3{,}4567 \stackrel{\text{round}}{\longrightarrow} 3{,}46\times10^{3}=3460.
  • Para y = 3{,}4567\times10^{2}:
    • Truncamento: 3{,}45\times10^{2}=345.
    • Arredondamento: 3{,}46\times10^{2}=346 (porque o 4.º dígito é 6).
  • Para z = 3{,}4567\times10^{1}:
    • Truncamento: 3{,}45\times10^{1}=34{,}5.
    • Arredondamento: 3{,}46\times10^{1}=34{,}6.
  • Para w = 3{,}4567\times10^{-1}:
    • Truncamento: 3{,}45\times10^{-1}=0{,}345.
    • Arredondamento: 3{,}46\times10^{-1}=0{,}346.
  • Para m = 3{,}4567\times10^{-4}:
    • Exponent -4 < -3 → underflow; com representação considerada, aproxima-se por 0 (tanto em truncamento quanto em arredondamento, já que não há subnormais).

Passo 5

Calcular erros (absoluto e relativo) entre cada aproximação e o valor real. Vou apresentar para truncamento (chop) e arredondamento (round). Para m cálculo também feito (underflow para zero).
  • Fórmulas aplicadas: \text{erro abs} = |x_{\text{aprox}}-x|, \qquad \text{erro rel} = \frac{|x_{\text{aprox}}-x|}{|x|}.
Calculemos cada um (valores arredondados nos resultados numéricos a 6 dígitos decimais quando necessário).
  1. x=3456{,}7
  • Truncamento: x_{\text{chop}}=3450.
    • Erro absoluto: |3450-3456{,}7| = 6{,}7.
    • Erro relativo: \dfrac{6{,}7}{3456{,}7}\approx 0{,}0019377 (aprox. 0{,}19377\%).
  • Arredondamento: x_{\text{round}}=3460.
    • Erro absoluto: |3460-3456{,}7| = 3{,}3.
    • Erro relativo: \dfrac{3{,}3}{3456{,}7}\approx 0{,}0009547 (aprox. 0{,}09547\%).
  1. y=345{,}67
  • Truncamento: y_{\text{chop}}=345.
    • Erro absoluto: |345-345{,}67| = 0{,}67.
    • Erro relativo: \dfrac{0{,}67}{345{,}67}\approx 0{,}0019383.
  • Arredondamento: y_{\text{round}}=346.
    • Erro absoluto: |346-345{,}67| = 0{,}33.
    • Erro relativo: \dfrac{0{,}33}{345{,}67}\approx 0{,}0009543.
  1. z=34{,}567
  • Truncamento: z_{\text{chop}}=34{,}5.
    • Erro absoluto: |34{,}5-34{,}567| = 0{,}067.
    • Erro relativo: \dfrac{0{,}067}{34{,}567}\approx 0{,}0019377.
  • Arredondamento: z_{\text{round}}=34{,}6.
    • Erro absoluto: |34{,}6-34{,}567| = 0{,}033.
    • Erro relativo: \dfrac{0{,}033}{34{,}567}\approx 0{,}0009547.
  1. w=0{,}34567
  • Truncamento: w_{\text{chop}}=0{,}345.
    • Erro absoluto: |0{,}345-0{,}34567| = 0{,}00067.
    • Erro relativo: \dfrac{0{,}00067}{0{,}34567}\approx 0{,}0019377.
  • Arredondamento: w_{\text{round}}=0{,}346.
    • Erro absoluto: |0{,}346-0{,}34567| = 0{,}00033.
    • Erro relativo: \dfrac{0{,}00033}{0{,}34567}\approx 0{,}0009547.
  1. m=0{,}00034567 (underflow)
  • Aproximação (chop e round): 0.
    • Erro absoluto: |0-0{,}00034567| = 0{,}00034567.
    • Erro relativo: \dfrac{0{,}00034567}{0{,}00034567}=1 (erro relativo 100\%).
Nota pedagógica: aparece um padrão numérico — ao truncar o decimal com mantissa 3{,}4567... o erro relativo é próximo de 1{,}94\times10^{-3} e ao arredondar é quase metade disso ( \approx 9{,}55\times10^{-4}). Isso vem do fato da perda dos dígitos menos significativos.

Passo 6

Agora realizamos as operações em aritmética de ponto flutuante do sistema. Procedimento usado:
  • Representar z e w pelos valores armazenados (uso o arredondamento, ou seja z_{\mathrm{m}}=34{,}6, w_{\mathrm{m}}=0{,}346).
  • Fazer a operação em aritmética real infinita com esses operandos armazenados.
  • Arredondar o resultado ao formato \mathrm{F}(10,3,-3,3) (3 dígitos significativos), normalizando e verificando expoente.
Operadores:
  1. Soma \mathrm{z}+\mathrm{w}
  • Usando os valores armazenados: 34{,}6 + 0{,}346 = 34{,}946.
  • Normalizar: 3{,}4946\times10^{1}.
  • Arredondar a 3 dígitos significativos: olhar o 4.º dígito (é 4<5) → manter: 3{,}49\times10^{1} = 34{,}9.
  • Resultado em ponto flutuante: 34{,}9.
  1. Subtração \mathrm{z}-\mathrm{w}
  • 34{,}6 - 0{,}346 = 34{,}254.
  • Normalizar: 3{,}4254\times10^{1}.
  • Arredondar (o 4.º dígito é 5 e o seguinte é 4, usamos arredondamento para mais quando o dígito de arredondamento \ge5): incrementa o terceiro dígito: 3{,}43\times10^{1} = 34{,}3.
  • Resultado em ponto flutuante: 34{,}3.
Comentário didático: aqui vemos cancelamento parcial: embora z e w tenham mantissas semelhantes 3{,}4567\ldots, a diferença reduz dígitos significativos; por isso a perda relativa de precisão pode aumentar.
  1. Multiplicação \mathrm{z}\cdot\mathrm{w}
  • 34{,}6 \times 0{,}346 = 11{,}9716.
  • Normalizar: 1{,}19716\times10^{1}.
  • Arredondar a 3 dígitos: o 4.º dígito é 7\ge5 → incrementa: 1{,}20\times10^{1} = 12{,}0.
  • Resultado em ponto flutuante: 12{,}0 (ou 1{,}20\times10^{1}).
  1. Divisão \mathrm{z}/\mathrm{w}
  • 34{,}6 / 0{,}346 = 100{,}0 exatamente (pois 0{,}346\times100{,}0 = 34{,}6).
  • Normalizar: 1{,}00\times10^{2} — já tem 3 dígitos significativos.
  • Resultado em ponto flutuante: 100{,}0.

Passo 7

Calcular o erro absoluto e relativo no cálculo de \mathrm{z}-\mathrm{w}, isto é, comparar o resultado em ponto flutuante com o valor exato real \mathrm{z}-\mathrm{w} usando os números originais do enunciado ( z=34{,}567,\\ w=0{,}34567).
  • Valor exato: z - w = 34{,}567 - 0{,}34567 = 34{,}22133.
  • Valor obtido em aritmética de ponto flutuante (Passo 6): 34{,}3.
  • Erro absoluto: |\text{aprox}-\text{exato}| = |34{,}3 - 34{,}22133| = 0{,}07867.
  • Erro relativo: \frac{0{,}07867}{34{,}22133}\approx 0{,}0022986\\ \text{(aprox.)} \approx 0{,}22986\%.
Comentário de ânimo: deu um erro relativo da ordem de 2{,}3\times10^{-3}, relativamente pequeno, mas o importante é entender de onde vem — perda de dígitos menores durante representação e arredondamento nas operações.

Resposta

a) Menor positivo normalizado: 1{,}00\times10^{-3}=0{,}001. Maior positivo: 9{,}99\times10^{3}=9990. (Extremos negativos simetricamente: -9{,}99\times10^{3} e -1{,}00\times10^{-3}.)
b) Representações (truncamento / arredondamento):
  • x=3456{,}7: trunc 3{,}45\times10^{3}=3450 / round 3{,}46\times10^{3}=3460.
  • y=345{,}67: trunc 3{,}45\times10^{2}=345 / round 3{,}46\times10^{2}=346.
  • z=34{,}567: trunc 3{,}45\times10^{1}=34{,}5 / round 3{,}46\times10^{1}=34{,}6.
  • w=0{,}34567: trunc 3{,}45\times10^{-1}=0{,}345 / round 3{,}46\times10^{-1}=0{,}346.
  • m=0{,}00034567: não representável (exponente -4<e_{\min}=-3) → underflow para 0.
c) Erro absoluto e erro relativo (trunc / round):
  • x=3456{,}7:
    • trunc: erro abs =6{,}7, erro rel \approx0{,}0019377.
    • round: erro abs =3{,}3, erro rel \approx0{,}0009547.
  • y=345{,}67:
    • trunc: erro abs =0{,}67, erro rel \approx0{,}0019383.
    • round: erro abs =0{,}33, erro rel \approx0{,}0009543.
  • z=34{,}567:
    • trunc: erro abs =0{,}067, erro rel \approx0{,}0019377.
    • round: erro abs =0{,}033, erro rel \approx0{,}0009547.
  • w=0{,}34567:
    • trunc: erro abs =0{,}00067, erro rel \approx0{,}0019377.
    • round: erro abs =0{,}00033, erro rel \approx0{,}0009547.
  • m=0{,}00034567 (underflow):
    • aproximação =0. Erro abs =0{,}00034567. Erro rel =1 (100%).
d) Resultados das operações em \mathrm{F}(10,3,-3,3) (usando arredondamento e representação machine dos operandos):
  • \mathrm{z}+\mathrm{w} = 34{,}9.
  • \mathrm{z}-\mathrm{w} = 34{,}3.
  • \mathrm{z}\cdot\mathrm{w} = 12{,}0 (ou 1{,}20\times10^{1}).
  • \mathrm{z}/\mathrm{w} = 100{,}0 (ou 1{,}00\times10^{2}).
e) Erro no cálculo de \mathrm{z}-\mathrm{w}:
  • Valor exato: 34{,}22133.
  • Valor em ponto flutuante: 34{,}3.
  • Erro absoluto: |34{,}3-34{,}22133| = 0{,}07867.
  • Erro relativo: \dfrac{0{,}07867}{34{,}22133}\approx 0{,}0022986 (aprox. 0{,}22986\%).

Exercícios relacionados