Questão 1. Considere o sistema de números de ponto flutuante \mathcal{F}=\mathcal{F}(2,3,-62,63).
a) calcule o número de elementos do conjuto \mathcal{F};
b) calcule o menor múmero positivo e o maior número positivo de \mathcal{F};
c) calcule o menor número de \mathcal{F} maior que 1.

Passo 1

O enunciado pede três coisas:
  • (a) contar quantos elementos tem o conjunto de ponto flutuante \mathcal{F};
  • (b) encontrar o menor número positivo e o maior número positivo em \mathcal{F};
  • (c) encontrar o menor número de \mathcal{F} que seja maior que 1.
Informações fornecidas (vou listá‑las explicitamente):
  • base (radix) \beta = 2;
  • precisão p = 3 (ou seja, 3 dígitos na mantissa);
  • expoentes variam de \mathrm{emin} = -62 a \mathrm{emax} = 63.
    Assumo o formato usual de números normalizados (mantissa com primeira casa não nula) mais o zero.

Passo 2

Entendendo como são os números normalizados em tal sistema (aula rápida e prática).
Um número normalizado em base \beta e precisão p tem a forma
\pm (d_0.d_1d_2\ldots d_{p-1})_\beta \times \beta^{e},
onde:
  • d_0 é o dígito mais significativo e deve satisfazer 1 \le d_0 \le \beta-1 (não pode ser zero, isso é a normalização);
  • cada d_i para i\ge1 toma valores 0,1,\dots,\beta-1;
  • o expoente e é inteiro e varia em \mathrm{emin}\le e\le\mathrm{emax}.
No nosso caso com \beta=2 e p=3:
  • d_0 só pode ser 1 (porque em base 2 o dígito não nulo é 1);
  • os dígitos d_1,d_2 podem ser 0 ou 1.
    Portanto a mantissa normalizada tem sempre a forma (1.d_1d_2)_2 com d_1,d_2\in\{0,1\}.
Agora vamos usar isso para contar elementos.

Passo 3

Contagem dos elementos ( a) — fórmula e aplicação.
Número de mantissas normalizadas possíveis:
(\beta-1)\beta^{\,p-1}.
Explicando: \beta-1 escolhas para d_0 e \beta^{p-1} escolhas independentes para os p-1 dígitos restantes.
No nosso caso:
(\beta-1)\beta^{p-1}=(2-1)\cdot 2^{2}=1\cdot 4=4.
Essas 4 mantissas correspondem às formas binárias (1.00)_2,(1.01)_2,(1.10)_2,(1.11)_2.
Número de escolhas de expoente:
\mathrm{emax}-\mathrm{emin}+1 = 63-(-62)+1 = 126.
Cada número não nulo pode ser positivo ou negativo (2 sinais). Portanto número de números não nulos:
2 \times 4 \times 126 = 1008.
Incluindo o zero (um único zero), o total de elementos de \mathcal{F} é
1008 + 1 = 1009.

Passo 4

Menor e maior número positivo ( b) — explicação do porquê.
  • O menor mantissa normalizada é (1.00)_2 = 1 (em decimal).
  • O maior mantissa normalizada é (1.11)_2. Calculando:
(1.11)_2 = 1 + \tfrac{1}{2} + \tfrac{1}{4} = \tfrac{7}{4}.
Menor número positivo (usar o menor mantissa com o menor expoente \mathrm{emin}):
\text{menor positivo} = 1 \times 2^{\mathrm{emin}} = 2^{-62}.
Maior número positivo (usar a maior mantissa com o maior expoente \mathrm{emax}):
\text{maior positivo} = \tfrac{7}{4} \times 2^{63} = 7 \times 2^{61}.
(Transformei \tfrac{7}{4}\cdot 2^{63} = 7\cdot 2^{63-2}=7\cdot 2^{61} para ficar mais compacto.)

Passo 5

Menor número maior que 1 ( c) — pensar no próximo número representável.
O número 1 é representado como (1.00)_2\times 2^{0}.
Com precisão p=3 as mantissas possíveis (ordenadas) para o mesmo expoente e=0 são:
(1.00)_2 = 1,\qquad (1.01)_2 = 1 + \tfrac{1}{4},\qquad (1.10)_2 = 1 + \tfrac{1}{2},\qquad (1.11)_2 = 1 + \tfrac{3}{4}.
Logo o próximo valor acima de 1 é (1.01)_2\times 2^{0}.
Calculando:
(1.01)_2 = 1 + \tfrac{1}{4} = \tfrac{5}{4}.
Uma maneira geral de ver o espaçamento: o valor da menor diferença entre números adjacentes no mesmo expoente e é
\text{ulp}(e)=2^{\,e-(p-1)}.
Para e=0 e p=3 isso dá 2^{-(3-1)}=2^{-2}=\tfrac{1}{4}. Então 1 + \tfrac{1}{4} é o próximo.

Resposta

(a) 1009
(b) menor positivo: 2^{-62}; maior positivo: 7\cdot 2^{61}
(c) \dfrac{5}{4}

Exercícios relacionados