Considere um equipamento cujo sistema de ponto flutuante normalizado é \operatorname{SPF}(2,10,-15,15). Para este sistema:
(a) Qual o menor positivo exatamente representável?
(b) Qual é o próximo positivo, depois do menor positivo representável?
(c) Transforme o menor positivo e o próximo para a base decimal
(d) Verifique se existem reais entre o menor e o próximo positivo. Comente.
(e) Qual o maior positivo exatamente representável?
(f) Quantos são os exatamente representáveis positivos?

Passo 1

Vou listar claramente o que o enunciado dá e o que pede.
  • O sistema de ponto flutuante é \operatorname{SPF}(2,10,-15,15). Ou seja:
    • base \beta = 2,
    • precisão t = 10 dígitos em base 2 (isso inclui o dígito líder),
    • expoentes variam de L = -15 até U = 15.
  • Perguntas:
    (a) Qual o menor positivo exatamente representável?
    (b) Qual é o próximo positivo, depois do menor positivo representável?
    (c) Transforme o menor positivo e o próximo para a base decimal.
    (d) Existem reais entre o menor e o próximo positivo? Comente.
    (e) Qual o maior positivo exatamente representável?
    (f) Quantos são os exatamente representáveis positivos?

Passo 2

Entendendo a forma normalizada de um número neste SPF (aulas rápidas e mastigadas).
  • Um número normalizado em base 2 tem a forma
\pm (1.b_1 b_2 \dots b_{t-1})_2 \times 2^{e},
onde cada b_i\in\{0,1\} e o dígito líder é 1 (isso é o que “normalizado” significa: não pode começar com 0).
  • Aqui t=10, então há t-1=9 bits fracionários b_1,\dots,b_9. Assim o mantissa varia discretamente entre
1.000000000_2 \quad\text{e}\quad 1.111111111_2.
  • Os expoentes permitidos são os inteiros e\in\{-15,-14,\dots,15\} (no total U-L+1 valores).

Passo 3

(a) Encontrar o menor positivo exatamente representável.
  • O menor (positivo) normalizado ocorre com o menor expoente e=L=-15 e a mantissa mínima normalizada 1.000000000_2.
  • Logo o menor positivo é
\text{menor} = 1.000000000_2 \times 2^{-15} = 2^{-15}.
  • Isso já é a resposta em forma exata binária/potência de dois. A seguir converto para decimal.

Passo 4

(b) Encontrar o próximo positivo depois do menor (ou seja, o sucessor imediato na malha de números representáveis).
  • Com o mesmo expoente e=-15, o menor incremento possível no mantissa é alterar o último bit fracionário: trocar 1.000000000_2 por 1.000000001_2.
  • O incremento relativo no mantissa vale 2^{-(t-1)} = 2^{-9}. Assim o próximo valor é
\text{próximo} = (1 + 2^{-9}) \times 2^{-15} = 2^{-15} + 2^{-24}.ó
  • Essa é a expressão exata do sucessor imediato (não há nenhum outro normalizado entre esses dois, motivo será explicado no Passo 6).

Passo 5

(c) Converter esses dois números para base decimal (cálculos numéricos passo a passo).
  • Calcule 2^{15} e 2^{24}: 2^{15}=32768,\qquad 2^{24}=16777216.
  • Portanto 2^{-15}=\frac{1}{32768}=0,000030517578125.
  • E 2^{-24}=\frac{1}{16777216}=0,000000059604644775390625.
  • Somando para obter o “próximo”: 2^{-15}+2^{-24}=0,000030517578125+0,000000059604644775390625=0,000030577182769775390625.
  • Resumo decimal:
    • menor = 0,000030517578125,
    • próximo = 0,000030577182769775390625.

Passo 6

(d) Verificar se existem reais entre o menor e o próximo positivo e comentar.
  • A malha de números normalizados com expoente fixo é obtida variando os t-1 bits fracionários. A diferença entre dois sucessivos com o mesmo expoente é exatamente 2^{L-(t-1)}. Aqui essa diferença é
\Delta = 2^{-24}.
  • Entre dois números reais distintos existe sempre infinitos números reais (a reta é densa). Portanto existem infinitos números reais entre 2^{-15} e 2^{-15}+2^{-24}.
  • Entretanto, nenhum desses números intermediários é exatamente representável pelo SPF (não há nenhum outro normalizado com expoente -15 entre eles, e trocar o expoente para -14 dá saltos de tamanho maior). Assim: há infinitos reais entre eles, mas nenhum é exatamente representável no sistema \operatorname{SPF}(2,10,-15,15).
  • Intuição prática: a aritmética de ponto flutuante “faz um grid” discreto; entre duas casas adjacentes do grid existem muitos reais, mas nenhuma outra casa do grid.

Passo 7

(e) Qual o maior positivo exatamente representável.
  • A mantissa máxima é 1.111111111_2 (com 9 uns fracionários). O valor dessa mantissa é
1 + \sum_{k=1}^{9} 2^{-k} = 2 - 2^{-9}.
  • Com o maior expoente U=15, o maior número é
\text{máximo} = (2 - 2^{-9}) \times 2^{15} = 2^{16} - 2^{6}.á
  • Calculando: 2^{16}=65536,\qquad 2^{6}=64\quad\Rightarrow\quad \text{máximo}=65536-64=65472.á
  • Assim o maior positivo exatamente representável é 65472.

Passo 8

(f) Quantos são os exatamente representáveis positivos?
  • Para cada expoente e temos exatamente 2^{t-1} mantissas normalizadas possíveis (porque há t-1 bits fracionários livres).
  • O número de expoentes disponíveis é U-L+1.
  • Logo o número de números positivos representáveis (não contando o zero) é
N_{+} = 2^{\,t-1}\cdot (U-L+1).
  • Substituindo os valores: 2^{t-1}=2^{9}=512,\qquad U-L+1=15-(-15)+1=31,
N_{+}=512\times 31=15872.
  • Observação: isto conta somente os positivos normalizados; o zero, se considerado, é um elemento extra, e subnormais (denormals) não foram incluídos porque o enunciado indicou SPF normalizado.

Resposta

(a) 2^{-15} = 0,000030517578125
(b) (1+2^{-9})2^{-15} = 2^{-15}+2^{-24} = 0,000030577182769775390625
(c) menor =0,000030517578125; próximo =0,000030577182769775390625
(d) Sim — existem infinitos reais entre eles, mas nenhum número exatamente representável no sistema \operatorname{SPF}(2,10,-15,15) fica entre esses dois (o espaçamento é 2^{-24})
(e) (2-2^{-9})2^{15} = 65472
(f) 2^{9}\times 31 = 15872

Exercícios relacionados