Considere o sistema de ponto flutuante F\left(b, n, e_{1}, e_{2}\right).
(a) Qual o menor número (em módulo) diferente de zero que pode ser representado usando este sistema? E o maior?
(b) Qual o número de mantissas possíveis?
(c) Mostre que
\# F=2(b-1) b^{n-1} \cdot\left(e_{2}-e_{1}+1\right)+1

Passo 1

O enunciado define o sistema de ponto flutuante F(b,n,e_{1},e_{2}). Nele cada número não nulo é da forma
\pm\bigl(d_{0}.d_{1}d_{2}\dots d_{n-1}\bigr)_{b}\times b^{e},
com d_{0}\in\{1,\dots,b-1\}, d_{i}\in\{0,\dots,b-1\} para i\ge1 e e_{1}\le e\le e_{2}. Há também o zero. Vamos usar essas regras de normalização para achar o menor e o maior valor, contar mantissas e depois combinar tudo para obter \#F.

Passo 2

Para achar o menor número (em módulo) diferente de zero, tomamos a mantissa mínima m_{\min}=1.0\dots0 (isto é, d_{0}=1 e d_{1}=\cdots=d_{n-1}=0) e o menor expoente e=e_{1}. Logo o menor valor positivo é
m_{\min}\times b^{e_{1}}=1\times b^{e_{1}}=b^{e_{1}}.
Para achar o maior número, tomamos a mantissa máxima
m_{\max}=(b-1).(b-1)(b-1)\dots(b-1)_{b}
que em valor é
(b-1)\sum_{k=0}^{n-1}b^{-k} =(b-1)\frac{1-b^{-n}}{1-b^{-1}} =b-b^{1-n},
e o maior expoente e=e_{2}. Assim o maior valor positivo é
m_{\max}\times b^{e_{2}} =\bigl(b-b^{1-n}\bigr)b^{e_{2}}.

Passo 3

O número de mantissas normalizadas possíveis conta todas as escolhas de (d_{0},d_{1},\dots,d_{n-1}) com d_{0}\in\{1,\dots,b-1\} e d_{i}\in\{0,\dots,b-1\} para i\ge1. Logo
\text{# mantissas}=(b-1)\,b^{\,n-1}.

Passo 4

Para contar \#F, juntamos:
  1. Exponentes: há (e_{2}-e_{1}+1) escolhas.
  2. Mantissas: há (b-1)\,b^{\,n-1} escolhas.
  3. Sinais: \pm dá um fator 2.
  4. Mais o zero, que é um elemento extra.
    Multiplicando e somando o zero obtemos
\#F =2\,(b-1)\,b^{\,n-1}\,(e_{2}-e_{1}+1)+1.

Resposta

(a) O menor módulo não nulo é \displaystyle b^{e_{1}} e o maior é \displaystyle\bigl(b-b^{1-n}\bigr)b^{e_{2}}.
(b) O número de mantissas possíveis é \displaystyle(b-1)b^{n-1}.
(c) \displaystyle\#F=2(b-1)b^{n-1}(e_{2}-e_{1}+1)+1.

Exercícios relacionados