Seja o número real
um número real dado baixo na sua representação decimal. Escreva sua representação em ponto flutuante, com cinco dígitos, na base 2. Neste exemplo considere os limites do expoente tão grande ou pequeno quanto se queira.
Passo 1
Beleza, o enunciado pede pra gente pegar o número decimal
e escrever a versão em ponto flutuante base 2, com cinco dígitos de mantissa (ou seja, precisão
), e sem nos preocupar com limites de expoente.
O que vamos precisar:
O que vamos precisar:
- Converter a parte inteira e a parte fracionária de
pra binário. - Normalizar esse resultado na forma
. - Truncar (ou arredondar) a mantissa para ter exatamente cinco dígitos no total (um antes do ponto e quatro depois, pois
).
Passo 2
Converter
em binário:
- Parte inteira
: -
resto 1 -
resto 1
Logo.
-
- Parte fracionária
: multiplico sucessivamente por 2 e guardo a parte inteira: -
⇒ bit 1, resto 0.14 -
⇒ bit 0, resto 0.28 -
⇒ bit 0, resto 0.56 -
⇒ bit 1, resto 0.12 -
⇒ bit 0, resto 0.24 - … dá pra pegar mais, mas já é suficiente pra ter folga.
Assim, a parte fracionária começa.
Juntando as duas partes:
-
Passo 3
Normalização em ponto flutuante significa mover o ponto pra logo depois do primeiro 1:
Aqui o expoente é
porque deslocamos o ponto uma casa à esquerda.
Passo 4
Como queremos mantissa com
dígitos (um antes do ponto, quatro depois), pegamos só os quatro bits seguintes a
:
Isso é equivalente a truncar (ou, se preferir, arredondar) a mantissa em
.