Я стараюсь тренироваться для scjp.двойной сравнение. объяснение разных результатов
У меня есть этот код:
System.out.println(0.8==0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1);//false
System.out.println(0.8==((0.1+0.1)+(0.1+0.1))+((0.1+0.1)+(0.1+0.1))); // true
выход:
true
false
Я знаю, что верно сравнение что-то вроде этого:
abs(a1-a2)<epsilon
Но это приводит странно для меня. Кто может объяснить их для меня?
Действительно ли аналогичные вопросы для scjp?
Как вы думаете, можно ли предсказать без выполнения программы? – gstackoverflow
@gstackoverflow его невозможно без выполнения, чтобы предсказать результат. – Kick