O padrão IEEE 754 define a precisão dos números de ponto flutuante.
a) Qual a diferença entre ponto flutuante de 32 bits (float) e 64 bits (double)?
b) Como o épsilon de máquina se relaciona com a precisão dessas representações?

Passo 1

Beleza, vamos lá! O enunciado quer que a gente entenda o padrão IEEE 754 para ponto flutuante, mais especificamente:
  • a) Qual a diferença de representação entre float (32 bits) e double (64 bits)?
  • b) Como o epsilon de máquina (εₘ) se encaixa nessa história de precisão?
O conteúdo envolvido é representação de números em ponto flutuante (IEEE 754) e definição de epsilon de máquina. Para resolver, precisamos lembrar como o padrão divide os bits (sinal, expoente e mantissa) e saber que εₘ mede o “passo” mínimo entre 1 e o próximo número representável.

Passo 2

Vamos destrinchar a estrutura IEEE 754. Tanto float quanto double têm três partes:
  1. bit de sinal (S)
  2. bits do expoente (E)
  3. bits da mantissa/fracionária (M)
  • No float (32 bits):
    • S = 1 bit
    • E = 8 bits (com bias 127)
    • M = 23 bits
  • No double (64 bits):
    • S = 1 bit
    • E = 11 bits (com bias 1023)
    • M = 52 bits
A mantissa (M) dita quantos dígitos binários de precisão temos: float ~23 bits ⇒ ~7 dígitos decimais de precisão; double ~52 bits ⇒ ~15–16 dígitos decimais.

Passo 3

Epsilon de máquina, εₘ, é o menor valor que, somado a 1.0, gera algo diferente de 1.0 no formato. Em IEEE 754 ele vale basicamente 2^-p, onde p é o número de bits da mantissa:
  • Para float: varepsilonfloat = 2^-23 approx 1,19 times 10^-7
    - Para double:
    varepsilondoub<= = 2^-52 approx 2,22 times 10^-16
Isso significa que a resolução mínima (o “passinho”) entre números em torno de 1 é dado por esses valores. Quanto menor εₘ, maior a precisão relativa.

Resposta

a) Um float usa 1 bit de sinal, 8 bits de expoente e 23 bits de mantissa (32 bits no total), garantindo ~7 dígitos decimais; um double usa 1 bit de sinal, 11 bits de expoente e 52 bits de mantissa (64 bits), garantindo ~15–16 dígitos.
b) O epsilon de máquina é 2^-23 no float e 2^-52 no double, indicando o menor incremento representável em torno de 1. Quanto menor o εₘ, maior a precisão do formato.

Exercícios relacionados