int i = 0, j = 0;
double nan1 = (double)0/0;
double nan2 = (double)0/0;
double nan3 = (double)i/j;
System.out.println(Double.doubleToRawLongBits(nan1) == Double.doubleToRawLongBits(nan2));
System.out.println(Double.doubleToRawLongBits(nan1) == Double.doubleToRawLongBits((double)0/0));
System.out.println(Double.doubleToRawLongBits(nan3) == Double.doubleToRawLongBits(nan2));
вывод:
true
true
false
Пожалуйста, помогите мне, как получился вывод true
для первых двух и false
для последнего. Подскажите, пожалуйста, какова реальная работа метода Double.doubleToRawLongBits().