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

Passo 1

O enunciado pede: representar, no sistema de ponto flutuante normalizado \operatorname{SPF}(2,3,-1,2), o valor arredondado da operação
0.101 \times 2^{0} + 0.111 \times 2^{1}.
Informações que temos (peguei tudo do enunciado):
  • Base \beta = 2.
  • Precisão t=3 dígitos binários na mantissa (isto é, cada mantissa tem exatamente 3 dígitos com o primeiro dígito não nulo).
  • Limites de expoente: e_{\min}=-1 e e_{\max}=2.
  • Os números são normalizados: a mantissa tem a forma 1.\text{(bits)} (ou seja, o primeiro dígito é 1).
  • Devemos retornar o resultado arredondado para o formato representável no sistema (vou usar o arredondamento para o mais próximo, critério usual: round-to-nearest).

Passo 2

Entender como se armazenam números neste SPF (pequena aula mastigada).
  • Um número normalizado neste sistema tem a forma
\pm\,(1.b_1 b_2 \dots b_{t-1})_2 \times 2^{e},
onde t=3, logo a mantissa tem 1.b_1 b_2 (um bit 1 seguido de t-1=2 bits fracionários).
  • Exemplo: 1.01\times 2^{-1} é um número válido porque tem 3 dígitos na mantissa ( 1,0,1) e expoente dentro do intervalo.
  • Para somar dois números com expoentes diferentes, primeiro alinham-se os expoentes (deslocando a mantissa do menor expoente à direita), realiza-se a soma exata em binário e depois normaliza e, por fim, arredonda para t dígitos.

Passo 3

Normalizar os termos individuais (converter cada parcela para forma normalizada 1.\_\times 2^{e} quando possível).
  • Para 0.101\times 2^{0}: 0.101_2 = 1.01_2 \times 2^{-1}.Então podemos escrever 0.101\times 2^{0} = 1.01\times 2^{-1}. A mantissa 1.01 tem exatamente 3 dígitos (1,0,1), portanto esse termo é representável exatamente no sistema.
  • Para 0.111\times 2^{1}: 0.111_2 \times 2^{1} = 1.11_2 \times 2^{0}.A mantissa 1.11 tem 3 dígitos (1,1,1), também representável exatamente.

Passo 4

Alinhar expoentes e somar em binário (faça comigo passo a passo).
  • Os expoentes normalizados são -1 e 0. Para facilitar a soma, alinhamos ambos para o maior expoente (que é 0). Então escrevemos: 1.01\times 2^{-1} = 0.101\times 2^{0}.(isso volta ao formato não-normalizado 0.101\times 2^{0}, mas é útil para somar frações com expoente 0).
  • Agora somamos as mantissas com expoente 0:
    escrevendo com a mesma quantidade de casas após o ponto: \begin{array}{r} 1.110\quad (\text{que é }1.11_2)\\[-2pt] +\;0.101\quad (\text{que é }0.101_2)\\hline 10.011 \end{array}ééA soma binária resulta em 10.011_2. Em notação normalizada isso é 10.011_2 = 1.0011_2 \times 2^{1}.Então a soma exata é 1.0011_2 \times 2^{1}.]

Passo 5

Explicar como arredondar para a precisão t=3 (regra usada: arredondamento para o mais próximo).
  • Temos a mantissa exata 1.0011\ldots e queremos guardá-la com t=3 dígitos, isto é, 1.b_1 b_2 (dois bits fracionários).
  • Escrevendo os dígitos da mantissa exata: 1.\underbrace{0}_{b_1}\underbrace{0}_{b_2}\underbrace{1}_{\text{guard}}\underbrace{1}_{\text{resto}}
    • Os dois primeiros bits fracionários que cabem são b_1=0 e b_2=0, então truncar daria 1.00.
    • A seguir vem o bit “guard” igual a 1 (próximo bit após os armazenáveis) e ainda há bits subsequentes (sticky) contendo pelo menos um 1 (o próximo é 1), logo há resto.
  • Regra round-to-nearest: se o bit guard é 1 e há algum bit 1 nos bits a seguir (ou se o guard é 1 e o LSB atual for 1 quando for caso de empate), devemos arredondar para cima.
  • Aqui guard =1 e resto (sticky) =1, portanto devemos arredondar para cima o campo armazenável 1.00.
  • Arredondando para cima 1.00 \to 1.01.
  • Não ocorre overflow da mantissa (1.01 ainda tem forma normalizada com primeiro dígito 1), então o expoente permanece e=1.

Passo 6

Resultado final em formato do sistema e significado decimal (confirmação).
  • A representação arredondada é 1.01 \times 2^{1}.
  • Em decimal, isto vale (1 + 0\cdot 2^{-1} + 1\cdot 2^{-2})\times 2^{1} = 1{,}25\times 2 = 2{,}5. A soma exata era 2{,}375, então o valor representável mais próximo é 2{,}5, coerente com o arredondamento feito.

Resposta

1.01 \times 2^{1}

Exercícios relacionados