Можно ли получить 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, но я думаю, что он будет применяться к большинству языков программирования.