Considere o sistema de aritmética de ponto flutuante \mathrm{F}(2,4,2,3) normalizado:
Os seguintes números na base 10 podem ser representados em F por truncamento (pertencem a F ou ocorre underflow ou overflow)? Represente-os nesse sistema e indique underflow ou overflow se for o caso.
(3,375)_{10}

Passo 1

O que o problema pede e os dados fornecidos:
  • Pedido: verificar se o número (3,375)_{10} pode ser representado em \mathrm{F}(2,4,2,3) por truncamento; representar o número nesse sistema e indicar underflow ou overflow se ocorrer.
  • Dados do sistema de ponto flutuante \mathrm{F}(2,4,2,3) (normalizado):
    • base \beta = 2,
    • precisão t = 4 dígitos na mantissa (ou seja, quatro dígitos binários após o ponto na mantissa normalizada),
    • expoente mínimo L = 2,
    • expoente máximo U = 3.
  • Observação importante (extraída do enunciado): o sistema é normalizado (isto significa que o primeiro dígito da mantissa deve ser diferente de zero).

Passo 2

Entendendo o formato normalizado e os limites de underflow/overflow:
  • Em \mathrm{F}(\beta,t,L,U) normalizado, um número positivo representável tem forma
(0.d_1d_2\ldots d_t)_\beta \times \beta^{e},
com d_1\neq 0 e L\le e\le U.
  • O menor número positivo normalizado representável vale
\beta^{\,L-1}.
  • O maior número representável (absoluto) vale
(1-\beta^{-t})\beta^{U}.
  • Para o nosso caso, com \beta=2, t=4, L=2, U=3:
    • menor positivo normalizado: \;2^{\,L-1}=2^{1}=2.
    • maior representável: \;(1-2^{-4})2^{3}=(1-\tfrac{1}{16})\cdot 8=\tfrac{15}{16}\cdot 8=7{,}5.
  • Conclusão: valores menores que 2 causariam underflow; valores maiores que 7{,}5 causariam overflow. O número dado (3,375)_{10} está entre esses extremos, então não haverá underflow nem overflow — ainda falta verificar a representação com truncamento da mantissa.

Passo 3

Converter (3,375)_{10} para binário (explicando passo a passo):
  • Parte inteira: 3_{10} = 11_2.
  • Parte fracionária: 0{,}375_{10}. Para converter frações multiplicar por 2 repetidamente:
    • 0{,}375 \times 2 = 0{,}75 \Rightarrow dígito binário 0, resto 0{,}75.
    • 0{,}75 \times 2 = 1{,}5 \Rightarrow dígito binário 1, resto 0{,}5.
    • 0{,}5 \times 2 = 1{,}0 \Rightarrow dígito binário 1, resto 0 (termina).
  • Assim a parte fracionária é 0{,}011_2.
  • Combinando: 3{,}375_{10} = 11{,}011_2.

Passo 4

Colocar em forma normalizada adequada ao sistema (mantissa (0.d_1d_2d_3d_4)_2 e expoente e):
  • Escrevendo 11{,}011_2 como mantissa normalizada do tipo 0.d_1d_2\ldots \times 2^{e}:
11{,}011_2 = 0{.}11011_2 \times 2^{2},
pois deslocar o ponto duas posições para a esquerda produz 0{.}11011_2 e multiplicar por 2^{2} recupera 11{,}011_2.
  • Aqui o expoente é e=2, que está dentro do intervalo permitido 2\le e\le 3. A mantissa tem, em precisão infinita, os bits d_1d_2d_3d_4d_5\ldots = 1\,1\,0\,1\,1\ldots.

Passo 5

Aplicar truncamento à mantissa com t=4 dígitos (explicar o que é truncamento):
  • Truncamento significa simplesmente cortar os bits da mantissa após o t-ésimo dígito, sem arredondar.
  • A mantissa infinita (ou exata) é 0{.}11011_2\ldots. Mantendo apenas os t=4 primeiros dígitos obtemos
\text{mantissa truncada} = 0{.}1101_2.
  • Logo a representação por truncamento é
0{.}1101_2 \times 2^{2}.

Passo 6

Calcular o valor decimal da representação truncada e comparar com o original:
  • Calcular 0{.}1101_2 em decimal:
0{.}1101_2 = \tfrac{1}{2}+\tfrac{1}{4}+0\cdot\tfrac{1}{8}+\tfrac{1}{16}=0{,}5+0{,}25+0+0{,}0625=0{,}8125.
  • Multiplicando por 2^{2}=4:
0{.}1101_2\times 2^{2} = 0{,}8125\times 4 = 3{,}25.
  • Portanto, por truncamento obtemos 3{,}25 em decimal — o valor exato 3{,}375 não é representável com apenas 4 bits na mantissa; o truncamento aproxima por defeito para 3{,}25.
  • Confirmamos também que não ocorreu underflow nem overflow, pois 2\le 3{,}375\le 7{,}5.

Resposta

(3,375)_{10} é representado por truncamento em \mathrm{F}(2,4,2,3) como \;0{.}1101_2\times 2^{2}\;=\;3{,}25.
Não ocorre underflow nem overflow.

Exercícios relacionados