03
a) Escrever os números reais x_{1}=0.35, x_{2}=-5.172, x_{2}=0.0123, x_{4}=0.0003, e x_{5}=5391.3 onde estão todos na base \beta=10 em notação de um sistema de aritmética de ponto flutuante.
b) Considerando agora que estamos diante de uma máquina que utilize apenas três dígitos significativos e que tenha como limite inferior e superior para o expoente, respectivamente, -2 e 2 , como seriam representados nesta máquina os números do exemplo a)?

Passo 1

O enunciado dá cinco números reais (vou corrigir a repetição de índice e chamar de x_{3} o terceiro número) e pede duas coisas:
  • Números dados:
    • x_{1}=0,35
    • x_{2}=-5,172
    • x_{3}=0,0123
    • x_{4}=0,0003
    • x_{5}=5391,3
  • Todas na base \beta=10.
    As perguntas:
    (a) Escrever esses números em notação de ponto flutuante (forma normalizada).
    (b) Agora, supondo uma máquina com apenas t=3 dígitos significativos e expoente limitado por -2 e 2 (isto é, e_{\min}=-2 e e_{\max}=2), como seriam representados na máquina os números do item (a)?

Passo 2

O que é a notação de ponto flutuante normalizada (explicação didática, passo a passo).
  • Um número real (não nulo) em base \beta pode ser colocado na forma normalizada
\pm(d_1.d_2d_3\ldots)_\beta \times \beta^{e},
onde:
  • d_1 é um dígito não nulo ( 1\le d_1\le\beta-1); isso garante que a mantissa está “normalizada” (um único dígito à esquerda do ponto).
  • d_1,d_2,\dots são os dígitos da mantissa (no nosso caso \beta=10, então dígitos 0,1,…,9).
  • t é o número de dígitos significativos guardados na mantissa (a máquina guarda apenas t dígitos).
  • e é o expoente inteiro (ajusta a posição do ponto decimal).
  • Para escrever um número positivo x em forma normalizada:
    1. Colocar o ponto decimal de modo que reste um único dígito não nulo antes do ponto.
    2. Esse deslocamento do ponto determina o expoente e.
    3. A mantissa é então escrita com quantos dígitos forem necessários; se quisermos a forma que a máquina grava, devemos arredondar (ou truncar) para t dígitos significativos.
  • Observações importantes para a máquina do item (b):
    • Aqui t=3: mantissa terá a forma d_1.d_2d_3 (três dígitos significativos).
    • Expoente permitido: e\in\{-2,-1,0,1,2\}.
    • Menores valores normalizados positivos representáveis têm mantissa mínima 1,00 e expoente e_{\min}=-2: isto é 1,00\times10^{-2}.
    • Maior valor representável é mantissa máxima 9,99 com expoente e_{\max}=2: isto é 9,99\times10^{2}.
    • Valores cujo expoente normalizado cair fora do intervalo [e_{\min},e_{\max}] não são representáveis como números normalizados nesta máquina. Normalmente: se o expoente for menor que e_{\min} (número muito pequeno) ocorre underflow (frequentemente o valor é aproximado por 0 se não houver números subnormais); se for maior que e_{\max} ocorre overflow (valor não representável — máquina sinaliza overflow ou dá infinito em modelos modernos).
  • Sobre arredondamento: para decidir os t dígitos quando há mais dígitos disponíveis, vou adotar o procedimento usual de arredondamento para o mais próximo (arredondamento para o inteiro mais próximo do último dígito conservado; em caso de empate, usar arredondamento para cima). Isso é o que costuma ser pedido em exercícios básicos; se fosse truncamento, os dígitos finais seriam simplesmente descartados.

Passo 3

Resolver (a): escrever cada número em notação normalizada em base 10 (sem limitar ainda o número de dígitos da mantissa).
  • Para x_{1}=0,35: desloca-se o ponto para obter um único dígito não nulo antes do ponto: 0,35 = 3,5\times10^{-1}. Portanto
x_{1}=3,5\times10^{-1}.
  • Para x_{2}=-5,172: já tem um dígito não nulo antes do ponto; expoente 0:
x_{2}=-5,172\times10^{0}.
  • Para x_{3}=0,0123: deslocando o ponto: 0,0123 = 1,23\times10^{-2}. Então
x_{3}=1,23\times10^{-2}.
  • Para x_{4}=0,0003: 0,0003 = 3\times10^{-4}. Logo
x_{4}=3\times10^{-4}.
  • Para x_{5}=5391,3: normalizando: 5391,3 = 5,3913\times10^{3}. Assim
x_{5}=5,3913\times10^{3}.

Passo 4

Preparar (b): aplicar as restrições da máquina ( t=3, e_{\min}=-2, e_{\max}=2) e arredondar para t=3 dígitos significativos.
  • Primeiro achar a faixa representável:
    • Menor normalizado positivo: 1,00\times10^{-2}=0,01.
    • Maior representável: 9,99\times10^{2}=999.
  • Agora tratar cada x_i do item (a), normalizar para t=3 dígitos por arredondamento e verificar se o expoente resultante está no intervalo permitido.

Passo 5

Aplicar o procedimento para cada número (cálculos e decisões detalhadas).
  • Para x_{1}=3,5\times10^{-1}.
    • Mantissa com t=3 dígitos: precisa de três dígitos significativos. A mantissa atual é 3,5 (dois dígitos). Completa-se com zero significativo: 3,50.
    • Expoente e=-1 está dentro de [-2,2].
    • Representação na máquina:
    x_{1}\mapsto 3,50\times10^{-1}.
  • Para x_{2}=-5,172\times10^{0}.
    • Queremos três dígitos significativos: os dígitos iniciais são 5,1,7,2. Mantemos os três primeiros 5,1,7 e olhamos o próximo dígito 2 para arredondar. Como 2<5, arredonda-se para baixo (sem alterar o último dígito mantido).
    • Mantissa arredondada: 5,17.
    • Expoente e=0 está dentro do intervalo.
    • Representação na máquina:
    x_{2}\mapsto -5,17\times10^{0}.
  • Para x_{3}=1,23\times10^{-2}.
    • Já tem exatamente três dígitos significativos 1,2,3. Não há dígitos extras a considerar, logo é exato com t=3.
    • Expoente e=-2 está no limite inferior, mas ainda permitido.
    • Representação na máquina:
    x_{3}\mapsto 1,23\times10^{-2}.
  • Para x_{4}=3\times10^{-4}.
    • A forma normalizada tem expoente e=-4, que é menor que e_{\min}=-2.
    • Isso significa que x_{4} é menor que o menor número normalizado positivo representável na máquina ( 0,01). Se a máquina não tem subnormais (denormals), ocorre underflow e o valor é arredondado para 0 (flush-to-zero). Portanto:
    x_{4}\mapsto 0 \quad\text{(underflow / não representável como normalizado)}.ãá
  • Para x_{5}=5,3913\times10^{3}.
    • Mantissa com três dígitos: olhamos os primeiros três dígitos 5,3,9 e o próximo dígito é 1 (menor que 5), então arredondamos para baixo: mantissa 5,39.
    • O expoente necessário é e=3, mas e=3 está acima de e_{\max}=2.
    • Logo x_{5} excede o maior número representável ( 9,99\times10^{2}=999) e ocorre overflow. Em prática, isto é sinalizado como overflow (ou em modelos de ponto flutuante moderno resulta em \pm\infty); em máquinas simples pode-se dizer “não representável (overflow)” ou, em alguns exames, aproximar pelo maior valor representável 9,99\times10^{2}. Aqui vamos indicar que há overflow (não representável como número normalizado na máquina).
    x_{5}\mapsto \text{overflow (não representável)}.ãá

Resposta

(a) x_{1}=3,5\times10^{-1},\; x_{2}=-5,172\times10^{0},\; x_{3}=1,23\times10^{-2},\; x_{4}=3\times10^{-4},\; x_{5}=5,3913\times10^{3}.
(b) Na máquina com t=3, e_{\min}=-2, e_{\max}=2:
x_{1}=3,50\times10^{-1}
x_{2}=-5,17\times10^{0}
x_{3}=1,23\times10^{-2}
x_{4}=0 (underflow; não representável como normalizado)
x_{5}=\text{overflow (não representável)}ãá

Exercícios relacionados