Questão 2. ( 20 pts ) Considere um sistema de ponto flutuante F(\beta, t, m, M) com os seguintes valores já fornecidos:
  • Menor número positivo: 3.93412 \times 10^{-13}.
  • Maior número positivo: 3.48678 \times 10^{9}.
  • Epsilon do SPF ( \varepsilon ): 2.09075 \times 10^{-7}.
Determine:
  1. A base \beta do sistema.
  2. A quantidade t de dígitos da mantissa.
  3. O menor e o maior expoente, -m e M, respectivamente.
Observação: os parâmetros do SPF são números inteiros.

Passo 1

O enunciado nos dá um sistema de ponto flutuante F(\beta,t,m,M) e fornece três números:
  • Menor número positivo representável: 3{,}93412\times10^{-13}.
  • Maior número positivo representável: 3{,}48678\times10^{9}.
  • Epsilon do SPF ( \varepsilon): 2{,}09075\times10^{-7}.
O que precisamos determinar (cada um é inteiro):
  1. A base \beta.
  2. A quantidade de dígitos da mantissa t.
  3. Os limites dos expoentes: o menor expoente escrito como -m e o maior expoente M.
Observação: a resolução vai assumir a convenção usual em que um número normalizado tem forma
\pm(d_0.d_1\ldots d_{t-1})_{\beta}\times\beta^{e},
com 1\le d_0\le\beta-1 (ou seja, a parte inteira da mantissa é não nula) e o expoente e varia em -m\le e\le M. Nessa convenção a distância entre 1 e o próximo número representável é
\varepsilon=\beta^{\,1-t},
o menor número positivo normalizado é
\beta^{-m},
e o maior número positivo é
(\beta-\beta^{\,1-t})\,\beta^{M}.

Passo 2

Usar o valor de \varepsilon para achar \beta e t.
Partimos de
\varepsilon=\beta^{\,1-t}=2{,}09075\times10^{-7}.
Queremos inteiros \beta\ge2 e t\ge1 que satisfazem isso. Uma forma prática é testar bases pequenas e ver se \beta^{1-t} bate exatamente com o número fornecido (os dados costumam ser números exatos gerados por potências inteiras).
Verificando \beta=3:
\beta^{1-t}=3^{1-t}.
Se escolhermos 1-t=-14 (ou seja, t=15), obtemos
3^{1-t}=3^{-14}=\frac{1}{3^{14}}.
Calculando 3^{14}:
3^{14}=4\,782\,969,
logo
3^{-14}=\frac{1}{4\,782\,969}\approx 2{,}09075\times10^{-7},
que coincide com o \varepsilon dado (os algarismos batem com o valor fornecido). Portanto a escolha inteira exata é
\beta=3,\qquad t=15.
Comentário didático curto: foi usado aqui o fato de que \varepsilon é uma potência inteira negativa de \beta; reconhecer que 3^{-14}=1/3^{14} dá exatamente o número fornecido, o que identifica \beta e t de forma única.

Passo 3

Determinar o menor expoente -m a partir do menor número positivo.
Na convenção adotada o menor número positivo normalizado é
\beta^{-m}.
Igualamos isso ao valor dado:
\beta^{-m}=3{,}93412\times10^{-13}.
Com \beta=3 temos
3^{-m}=3{,}93412\times10^{-13}.
Reconhecemos que 3^{-26} é um candidato: calculemos 3^{26} para confirmar:
3^{26}=2\,541\,865\,828\,329.
Logo
3^{-26}=\frac{1}{2\,541\,865\,828\,329}\approx 3{,}93412\times10^{-13},
que é exatamente o valor fornecido (os dígitos conferem). Portanto
m=26,
e o menor expoente pedido é -m=-26.
Didática: para encontrar m basta reconhecer o número dado como uma potência negativa exata de \beta. Calcular potências sucessivas de \beta (ou usar logaritmo) permite identificar o inteiro.

Passo 4

Determinar o maior expoente M a partir do maior número positivo.
Na convenção adotada o maior número positivo é
(\beta-\beta^{\,1-t})\,\beta^{M}.
Substituindo \beta=3 e t=15 (logo \beta^{1-t}=3^{-14}) obtemos
(\,3-3^{-14}\,)\,3^{M}.
Uma forma útil de manipular é escrever
(3-3^{-14})3^{M}=3^{M+1}-3^{M-14}.
Queremos que isso seja igual ao número fornecido 3{,}48678\times10^{9}. Vamos testar M=19. Calculemos:
3^{20}=3\,486\,784\,401,
e
3^{5}=243,
então
3^{20}-3^{5}=3\,486\,784\,401-243=3\,486\,784\,158.
Esse valor, em notação científica, é 3{,}486784158\times10^{9}. O enunciado deu 3{,}48678\times10^{9} (truncado/arreondado a seis dígitos), logo os valores são compatíveis: o maior número exato do SPF com \beta=3,t=15,M=19 é 3^{20}-243, que corresponde ao valor informado. Logo
M=19.
Didática: testar M inteiro próximo da ordem de grandeza indicada (aqui 10^{9}) e usar identidades com potências de \beta permite encontrar o expoente exato; note que (\beta-\beta^{1-t})\beta^{M}= \beta^{M+1}-\beta^{M+t-1-t}=\beta^{M+1}-\beta^{M-(t-1)}, que facilita o cálculo quando os expoentes são inteiros.

Passo 5

Resumo das verificações (checando consistência):
  • Encontramos \beta=3 e t=15 a partir de \varepsilon=3^{1-t}=3^{-14}.
  • Verificámos que o menor número é 3^{-26}\approx3{,}93412\times10^{-13}, logo m=26.
  • Verificámos que o maior número é (3-3^{-14})3^{19}=3^{20}-3^{5}=3\,486\,784\,158\approx3{,}48678\times10^{9}, logo M=19.

Resposta

\beta=3
t=15
-m=-26
M=19

Exercícios relacionados