Um computador armazena números reais utilizando 1 bit para o sinal do número, 7 bits para o expoente e 8 bits para a mantissa, Admitindo que haja truncamento, como ficariam armazenados os seguintes números decimais? (Utilize o enunciado para responder às questões de 5 a 10).
Seja F(2,3,-2,-3), quais as mantissas possíveis de serem representadas?

Passo 1

O exercício pede, no contexto de um sistema de ponto flutuante
F(\beta,t,L,U)
com \beta=2, t=3 dígitos na mantissa e limites de expoente L e U, determinar todas as mantissas normalizadas possíveis. Aqui só interessam os t=3 bits da mantissa, admitindo truncamento e forma normalizada.

Passo 2

Em ponto flutuante normalizado, a mantissa sempre tem a forma
m = 1.d_1 d_2 d_3
onde cada dígito d_i é binário 0 ou 1. Os 3 bits permitem todas as combinações de (d_1,d_2,d_3)\in\{0,1\}^3.

Passo 3

O número de combinações de 3 bits é
2^3 = 8.
Logo, há exatamente oito mantissas distintas.

Passo 4

Listando-as em binário, temos as seguintes mantissas normalizadas:
\begin{aligned} &1.000_2,\\\ &1.001_2,\\\ &1.010_2,\\\ &1.011_2,\\\ &1.100_2,\\\ &1.101_2,\\\ &1.110_2,\\\ &1.111_2. \end{aligned}

Passo 5

Se quisermos também ver o valor decimal correspondente a cada mantissa, basta converter a parte fracionária:
\begin{aligned} 1.000_2 &= 1,000_{10},\\\\ 1.001_2 &= 1 + \tfrac{1}{8} = 1,125_{10},\\\\ 1.010_2 &= 1 + \tfrac{2}{8} = 1,250_{10},\\\\ 1.011_2 &= 1 + \tfrac{3}{8} = 1,375_{10},\\\\ 1.100_2 &= 1 + \tfrac{4}{8} = 1,500_{10},\\\\ 1.101_2 &= 1 + \tfrac{5}{8} = 1,625_{10},\\\\ 1.110_2 &= 1 + \tfrac{6}{8} = 1,750_{10},\\\\ 1.111_2 &= 1 + \tfrac{7}{8} = 1,875_{10}. \end{aligned}

Resposta

As mantissas possíveis em F(2,3,-2,-3) (ou seja, com t=3 bits) são
1.000_2,\;1.001_2,\;1.010_2,\;1.011_2,\;1.100_2,\;1.101_2,\;1.110_2,\;1.111_2.

Exercícios relacionados