Можно ли получить 0, вычитая два неравных числа с плавающей точкой?

Можно ли получить деление на 0 (или бесконечность) в следующем примере?

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

В нормальных случаях это не будет, конечно. Но что, еслиa а такжеb очень близко, может(a-b) результат быть0 из-за точности расчета?

Обратите внимание, что этот вопрос относится к Java, но я думаю, что он будет применяться к большинству языков программирования.

Ответы на вопрос(12)

Ваш ответ на вопрос