Considere um equipamento cujo sistema de ponto flutuante normalizado é
de base 2, 10 dígitos na mantissa, menor expoente -15 e maior expoente 15. Para este sistema:
d) Verifique se existem reais entre o menor e o próximo positivo. Comente.
d) Verifique se existem reais entre o menor e o próximo positivo. Comente.
Passo 1
Beleza! Então o enunciado fala de um sistema de ponto flutuante normalizado SPF(2,10,−15,15). Isso quer dizer que:
- A base é 2.
- A mantissa tem 10 dígitos binários (1 bit antes da vírgula e 9 depois).
- O menor expoente é −15, o maior é 15.
A parte (d) pede: “Verifique se existem números reais entre o menor positivo normalizado e o próximo positivo.”
Para resolver isso a gente vai precisar entender como se forma o menor número positivo normalizado e qual é o próximo imediatamente acima dele, e daí ver o intervalo entre eles.
Para resolver isso a gente vai precisar entender como se forma o menor número positivo normalizado e qual é o próximo imediatamente acima dele, e daí ver o intervalo entre eles.
Passo 2
Primeiro a gente monta o menor positivo normalizado. Por definição, um float normalizado em base 2 tem forma
com
O menor
O próximo valor representa a mantissa mínima incrementada em 1 unidade de menor ordem (ulp). Isso dá
(Repare que o último bit da mantissa vale
Passo 3
Agora vamos olhar o intervalo:
Esse é um intervalo aberto no mundo dos números reais. Sabemos que entre quaisquer dois reais sempre cabem infinitos outros reais. Ou seja, existem zilhões de números reais ali dentro, mas nenhum deles é representável no nosso sistema SPF, porque essa máquina só vê exatamente
Resposta
Sim, existem infinitos números reais estritamente entre o menor positivo
e o próximo
, mas nenhum deles é um número de ponto flutuante desse sistema.