É possível obter 0 subtraindo dois números desiguais de ponto flutuante?

É possível obter divisão por 0 (ou infinito) no exemplo a seguir?

public double calculation(double a, double b)
{
     if (a == b)
     {
         return 0;
     }
     else
     {
         return 2 / (a - b);
     }
}

Em casos normais, isso não acontecerá, é claro. Mas e sea eb estão muito perto, pode(a-b) resultar em ser0 devido à precisão do cálculo?

Observe que esta pergunta é para Java, mas acho que se aplicará à maioria das linguagens de programação.

questionAnswers(12)

yourAnswerToTheQuestion