NaN, Sonsuzluk - 1

"Merhaba, Amigo!"

"Bugün size Java'daki bazı ilginç şeylerden bahsedeceğim."

" Sonsuzluk ."

Java'da, double türü, pozitif sonsuzluk ve negatif sonsuzluk için özel değerlere sahiptir . Pozitif bir sayının 0,0'a bölümü pozitif sonsuzu ve negatif bir sayı — negatif sonsuzu verir .

Bu kavramlar, özel Double sabitleriyle temsil edilir:

kod Tanım
public static final double POSITIVE_INFINITY = 1.0 / 0.0;
pozitif sonsuzluk
public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
negatif sonsuzluk

"Ve bu gerçekten işe yarıyor mu?"

"Evet. Şuna bak:"

kod
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
Ekran çıkışı:
Infinity
Infinity
Infinity
-Infinity

"Gerçekten işe yarıyor. Ya belirsizliğimiz varsa? Örneğin, sonsuzluğu sonsuzluktan çıkarırsak?"

"Bunun için Java'nın başka bir konsepti var: Bir Sayı Değil ( NaN )."

"Çeşitli durumlarda kullanılır:"

1)  Dize bir sayıya dönüştürülüyor, ancak harfler içeriyor. Sonuç NaN'dir.

2) Sonsuzluk eksi sonsuz. Sonuç NaN'dir.

3) Bir sayı beklediğimiz, ancak tanımsız bir şeyle sonuçlandığımız diğer birçok durum.

"Peki, Infinity ve NaN ile hangi işlemleri gerçekleştirebilirsiniz?"

"NaN ile çok basit. NaN içeren herhangi bir işlem NaN ile sonuçlanır."

"Ve sonsuzluk ile şunları yapabilirsiniz:"

İfade Sonuç
n ÷ ±Infinity
0
±Infinity × ±Infinity
±Sonsuz
±(something other than zero) ÷ 0
±Sonsuz
Infinity + Infinity
Sonsuzluk
±0 ÷ ±0
NaN
Infinity - Infinity
NaN
±Infinity ÷ ±Infinity
NaN
±Infinity × 0
NaN

"Bu mantıklı. Teşekkürler, Rishi."