NaN, Безкрайност - 1

„Здрасти, Амиго!“

„Днес ще ви разкажа за някои интересни неща в Java.“

" Безкрайност ".

В Java двойният тип има специални стойности за положителна безкрайност и отрицателна безкрайност . Положително число, разделено на 0,0, дава положителна безкрайност , а отрицателно число — отрицателна безкрайност .

Тези понятия са представени от специални двойни константи:

Код Описание
public static final double POSITIVE_INFINITY = 1.0 / 0.0;
Положителна безкрайност
public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
Отрицателна безкрайност

— И това наистина работи?

"Да. Вижте това:"

Код
double inf = Double.POSITIVE_INFINITY;
System.out.println(inf); // Infinity
System.out.println(inf + 1); // Infinity+1 == Infinity
System.out.println(inf + 10); // Infinity+10 == Infinity
System.out.println(inf * -1); // Equal to negative infinity
Double.NEGATIVE_INFINITY
Изход на екрана:
Infinity
Infinity
Infinity
-Infinity

"Наистина работи. А ако имаме неяснота? Например, ако извадим безкрайност от безкрайност?"

„За това Java има друга концепция: Not-a-Number ( NaN ).“

„Използва се в различни ситуации:“

1)  Низът се преобразува в число, но съдържа букви. Резултатът е NaN.

2) Безкрайност минус безкрайност. Резултатът е NaN.

3) Много други ситуации, в които очакваме число, но в крайна сметка получаваме нещо недефинирано.

„И така, Howви операции можете да извършвате с Infinity и NaN?“

„С NaN е много просто. Всяка операция, включваща NaN, води до NaN.“

„И с безкрайността можете да направите следното:“

Изразяване Резултат
n ÷ ±Infinity
0
±Infinity × ±Infinity
± Безкрайност
±(something other than zero) ÷ 0
± Безкрайност
Infinity + Infinity
безкрайност
±0 ÷ ±0
NaN
Infinity - Infinity
NaN
±Infinity ÷ ±Infinity
NaN
±Infinity × 0
NaN

„Това има смисъл. Благодаря ти, Риши.“