Considere o sistema de aritmética de ponto flutuante \mathbb{F}(2,10,-15,15). Represente, nesse sistema, os seguintes números:
z=(2,435)_{10};

Passo 1

O enunciado pede: representar, no sistema de ponto flutuante \mathbb{F}(2,10,-15,15), o número z=(2,435)_{10}.
Informações dadas (importantes e explícitas):
\mathbb{F}(2,10,-15,15) significa que
  • a base é \;2\;;
  • a precisão é p=10 dígitos binários significativos (ou seja, o formato normalizado tem 1 bit implícito seguido de p-1=9 bits da fração);
  • o expoente pode variar entre -15 e 15.

    O que precisamos entregar: a representação normalizada de z no formato \pm 1.\text{(9 bits)}_2 \times 2^{e} (arredondada ao modo usual “arredondamento para o mais próximo”, adotado aqui).

Passo 2

Vamos separar a parte inteira e a parte fracionária de z:
z = 2{,}435 = 2 + 0{,}435.
A parte inteira 2 em binário é simples:
2_{10} = 10_2.

Passo 3

Agora convertemos a parte fracionária 0{,}435 para binário usando o método de multiplicar por 2 repetidamente (doubling). Em cada passo guardamos a parte inteira do produto como o próximo bit fracionário.
Cálculos (cada linha: multiplicação por 2 → bit obtido → resto):
\begin{aligned} 0{,}435\cdot2 &= 0{,}87 &\Rightarrow&\\ \text{bit}_1=0, \\ \text{resto}=0{,}87\\\\ 0{,}87\cdot2 &= 1{,}74 &\Rightarrow&\\ \text{bit}_2=1, \\ \text{resto}=0{,}74\\\\ 0{,}74\cdot2 &= 1{,}48 &\Rightarrow&\\ \text{bit}_3=1, \\ \text{resto}=0{,}48\\\\ 0{,}48\cdot2 &= 0{,}96 &\Rightarrow&\\ \text{bit}_4=0, \\ \text{resto}=0{,}96\\\\ 0{,}96\cdot2 &= 1{,}92 &\Rightarrow&\\ \text{bit}_5=1, \\ \text{resto}=0{,}92\\\\ 0{,}92\cdot2 &= 1{,}84 &\Rightarrow&\\ \text{bit}_6=1, \\ \text{resto}=0{,}84\\\\ 0{,}84\cdot2 &= 1{,}68 &\Rightarrow&\\ \text{bit}_7=1, \\ \text{resto}=0{,}68\\\\ 0{,}68\cdot2 &= 1{,}36 &\Rightarrow&\\ \text{bit}_8=1, \\ \text{resto}=0{,}36\\\\ 0{,}36\cdot2 &= 0{,}72 &\Rightarrow&\\ \text{bit}_9=0, \\ \text{resto}=0{,}72\\\\ 0{,}72\cdot2 &= 1{,}44 &\Rightarrow&\\ \text{bit}_{10}=1, \\ \text{resto}=0{,}44\\\ \text{(e assim por diante)} \end{aligned}
Portanto os primeiros bits fracionários (após o ponto) são
0{,}435_{10} \approx .\;0\,1\,1\,0\,1\,1\,1\,1\,0\,1\ldots_2.

Passo 4

Juntando com a parte inteira, temos a representação binária não normalizada:
2{,}435_{10} \approx 10.0110111101\ldots_2.
Para normalizar no formato \pm 1.\text{(bits)} \times 2^{e} deslocamos o ponto 1 posição à esquerda:
10.0110111101\ldots_2 = 1.00110111101\ldots_2 \times 2^{1}.
Logo o expoente normalizado é e=1.

Passo 5

Precisamos armazenar p=10 bits significativos binários. No formato normalizado isso corresponde a 1 bit implícito (o 1 à esquerda do ponto) mais p-1=9 bits na fração. Tomamos os primeiros 9 bits da fração após o ponto na forma normalizada.
Na forma normalizada a sequência de bits após o ponto começa por:
\text{mantissa fractional bits} = [0,\;0,\;1,\;1,\;0,\;1,\;1,\;1,\;1,\;\ldots]
(as duas primeiras zeros são: o segundo bit inteiro original 0 e o primeiro bit fracionário obtido acima). Então os 9 bits que cabem são
0\;0\;1\;1\;0\;1\;1\;1\;1.
Assim a mantissa truncada seria
1.001101111_2 \\ (\text{10 bits no total: }1\text{ e }9\text{ fracionários}).á

Passo 6

Agora tratamos o arredondamento para o mais próximo (round-to-nearest). Olhamos o próximo bit depois desses 9 bits guardados para decidir se incrementamos a mantissa.
O próximo bit (o décimo bit fracionário na forma normalizada) é igual a \;0\; (vimos acima que o bit seguinte é \text{bit}_{10}=1 da fração original, mas lembre: por causa do deslocamento, o décimo bit após o ponto na forma normalizada corresponde a f_9 da sequência original, que vale 0). Portanto o bit de seguimento é 0, logo não há arredondamento para cima — mantemos a mantissa como está.
(Se estivesse exatamente na metade teríamos que aplicar a regra de empate, mas aqui não é o caso.)

Passo 7

Verificamos o expoente armazenado: e=1 está dentro do intervalo -15\le e\le 15, então não há underflow/overflow.
Portanto a representação final no sistema \mathbb{F}(2,10,-15,15) é o número positivo com mantissa arredondada
1.001101111_2 \times 2^{1}.

Resposta

\;z \approx 1.001101111_2 \times 2^{1}

Exercícios relacionados