NaN, infinit - 1

"Bună, Amigo!"

„Astăzi am să vă povestesc despre câteva lucruri interesante în Java”.

Infinitul ”.

În Java, tipul dublu are valori speciale pentru infinitul pozitiv și infinitul negativ . Un număr pozitiv împărțit la 0,0 dă infinit pozitiv , iar un număr negativ - infinit negativ .

Aceste concepte sunt reprezentate prin constante speciale Double:

Cod Descriere
public static final double POSITIVE_INFINITY = 1.0 / 0.0;
Infinitul pozitiv
public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
Infinitul negativ

— Și asta chiar funcționează?

"Da. Uită-te la asta:"

Cod
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
Ieșire ecran:
Infinity
Infinity
Infinity
-Infinity

"Chiar funcționează. Și dacă avem ambiguitate? De exemplu, dacă scădem infinitul din infinit?"

„Pentru aceasta, Java are un alt concept: Not-a-Number ( NaN ).”

„Este folosit în diverse situații:”

1)  Șirul este convertit într-un număr, dar conține litere. Rezultatul este NaN.

2) Infinitul minus infinitul. Rezultatul este NaN.

3) Multe alte situații în care ne așteptăm la un număr, dar ajungem cu ceva nedefinit.

„Deci, ce operațiuni poți efectua cu Infinity și NaN?”

„Cu NaN, este foarte simplu. Orice operație care implică NaN are ca rezultat NaN”.

„Și cu infinit, poți face următoarele:”

Expresie Rezultat
n ÷ ±Infinity
0
±Infinity × ±Infinity
±Infinitul
±(something other than zero) ÷ 0
±Infinitul
Infinity + Infinity
Infinit
±0 ÷ ±0
NaN
Infinity - Infinity
NaN
±Infinity ÷ ±Infinity
NaN
±Infinity × 0
NaN

"Asta are sens. Mulțumesc, Rishi."