Considere um equipamento cujo sistema de aritmética de ponto flutuante é
. Para este sistema:
Verifique se existem números reais entre o menor e o próximo positivo.
Verifique se existem números reais entre o menor e o próximo positivo.
Passo 1
Beleza, o enunciado diz que nosso sistema de ponto-flutuante é
ou seja, base 2, precisão de 10 bits na mantissa (sempre normalizada em
O que querem: descobrir se, entre o menor número positivo representável e o próximo mais alto, ainda sobra algum número real “no meio”.
Pra isso vamos precisar lembrar como se escreve um float normalizado em base 2 e calcular qual é o primeiro e qual é o segundo valor positivos.
Passo 2
Teoria básica de floats normalizados:
- Um número em
tem forma
come cada .
- O menor positivo ocorre quando todos os bits da mantissa (além do “1.” inicial) são zero e o expoente é mínimo, isto é.
- O próximo positivo difere só no último bit da mantissa (ovira 1).
Passo 3
Calculando o menor positivo:
Passo 4
Calculando o próximo positivo:
- A mantissa agora é
, ou seja . - Com o mesmo expoente
, temos
Passo 5
O “gap” entre eles é
Agora pergunte a si mesmo: existem reais entre
e isso é real, mas não cabe no nosso conjunto
.
Resposta
Sim. Há infinitos números reais entre o menor positivo
e o próximo
, embora nenhum deles seja representável nesse sistema de ponto-flutuante.