Por que meu dobro pode conter um valor abaixo do epsilon da máquina?

Eu estava resolvendo uma equação usando precisão dupla e obtive-7.07649e-17 como uma solução em vez de0.

Concordo que está perto o suficiente para dizer que é igual, masEu li que a máquina epsilon para o tipo duplo C ++ é2^-52 que é maior que o valor que recebo.

Então, por que tenho um valor inferior ao epsilon da máquina? Por que o valor não é arredondado para zero?

Não é grande coisa, mas quando faço um teste lógico, parece que meu valor não é zero ...

questionAnswers(3)

yourAnswerToTheQuestion