Sendo
, qual o menor valor de
tal que
seja diferente de
em uma máquina
e
.
Passo 1
Beleza, aqui o enunciado diz que temos um número em binário
e a máquina de ponto flutuante é na base 2, com |M|=26 bits de fração, |E|=8 bits de expoente e viés (BIAS) =129.
O que queremos é o menor
Conteúdo: ponto flutuante, representação normalizada, “spacing” (ulp) em torno de
Passo 2
Primeiro vamos entender
e como ele fica normalizado:
- Converte
pra decimal ou direto pros componentes do float: - Em decimal,
.
- Em decimal,
- Pra normalizar em base 2 a mantissa deve ficar entre 1 e 2:
Então o expoente(antes do bias).
Passo 3
Agora, como a mantissa tem |M|=26 bits de fração, ela ganha 1 bit “oculto” na frente, totalizando
Em ponto flutuante binário normalizado, o espaçamento (ulp) na vizinhança de um número com expoente
Isso vem do fato de que o bit de menor peso na fração vale
vezes a escala
.
Passo 4
Substituindo
e
:
Esse é justamente o menor incremento que a máquina consegue distinguir em torno de
Resposta
O menor valor de
tal que
seja diferente de
é