No sistema de ponto flutuante normalizado operatorname{SPF}(2,3,-1,2), represente em cada caso, o valor arredondado das seguintes operações:
c) 0.111 \times 2^{0} \times 0.110 \times 2^{-1}.

Passo 1

O enunciado pede que eu calcule o valor arredondado da operação
0.111\times2^{0}\times 0.110\times2^{-1}
no sistema de ponto flutuante normalizado \operatorname{SPF}(2,3,-1,2).
Informações relevantes do sistema (peguei estes parâmetros do enunciado):
  • base \beta=2;
  • precisão t=3 dígitos binários na mantissa;
  • expoentes permitidos e com L=-1 e U=2 (ou seja, e\in\{-1,0,1,2\});
  • números normalizados têm a forma \;1.b_1 b_2\;\times 2^{e}, com b_1,b_2\in\{0,1\} (porque t=3 significa um bit inteiro 1 seguido de dois bits fracionários);
  • o zero é representável (como caso especial), mas não existem números subnormal/denormalizados (o sistema foi dito “normalizado”).
O que vou fazer: calcular o produto exato em binário, colocar na forma normalizada, verificar o expoente; se o expoente for menor que L=-1 (underflow relativo), devo arredondar para o número representável mais próximo dentre os números do sistema (incluindo zero). Vou usar arredondamento para o mais próximo (round-to-nearest).

Passo 2

Calcular os fatores em forma binária e decimal (para facilitar a multiplicação):
Primeiro fator:
0.111\times2^{0} = 0.111_{2}.
Em decimal, 0.111_{2}= \tfrac{1}{2}+\tfrac{1}{4}+\tfrac{1}{8}=0{,}875.
Segundo fator:
0.110\times2^{-1} = 0.110_{2}\times 2^{-1} = 0.0110_{2}.
Em decimal, 0.0110_{2}= \tfrac{1}{4}+\tfrac{1}{8}=0{,}375.

Passo 3

Calcular o produto exato (decimal e binário):
Produto decimal:
0{,}875\times 0{,}375 = 0{,}328125.
Converter 0{,}328125 para binário (multiplicando sucessivamente por 2):
0{,}328125\times2 = 0{,}65625 \Rightarrow 0,
0{,}65625\times2 = 1{,}3125 \Rightarrow 1,
0{,}3125\times2 = 0{,}625 \Rightarrow 0,
0{,}625\times2 = 1{,}25 \Rightarrow 1,
0{,}25\times2 = 0{,}5 \Rightarrow 0,
0{,}5\times2 = 1{,}0 \Rightarrow 1,
e para aí (resto zero). Assim a expansão binária é
0{,}328125 = 0.010101_{2}.

Passo 4

Colocar o resultado na forma normalizada: mover o ponto até que haja um 1 à esquerda da vírgula.
0.010101_{2} = 1.010101_{2}\times 2^{-2}.
Aqui o expoente exato é e=-2. Mas o sistema só aceita expoentes e\ge L=-1. Portanto o resultado exato tem expoente menor que o mínimo normalizável: isto é underflow relativo (o número é menor que o menor número normalizado positivo).
Os candidatos representáveis mais próximos (positivos) no sistema são:
  • o zero ( 0);
  • os números normalizados com e=-1, que têm mantissa \;1.b_1 b_2 com b_1,b_2\in\{0,1\}. São: 1.00\times2^{-1}=0{,}5,\quad 1.01\times2^{-1}=0{,}625,\quad 1.10\times2^{-1}=0{,}75,\quad 1.11\times2^{-1}=0{,}875.
Comparar distâncias ao número exato x=0{,}328125:
|x-0| = 0{,}328125, \qquad |x-0{,}5| = 0{,}171875.
Como 0{,}5 é mais próximo de x do que 0 (e também mais próximo que quaisquer outros normalizados com e\ge-1), o arredondamento para o mais próximo escolhe 0{,}5.

Passo 5

Expressar a resposta na forma do sistema: 0{,}5 em binário normalizado com t=3 é
1.00\times 2^{-1}.
Portanto o valor arredondado do produto no sistema \operatorname{SPF}(2,3,-1,2), usando arredondamento para o mais próximo entre os números representáveis (incluindo zero), é 1.00\times2^{-1}.

Resposta

1.00\times2^{-1}

Exercícios relacionados