NaN, Tak Terhingga - 1

"Hai, Amigo!"

"Hari ini saya akan bercerita tentang beberapa hal menarik di Jawa."

" Tak terhingga ."

Di Jawa, tipe ganda memiliki nilai khusus untuk infinity positif dan infinity negatif . Angka positif dibagi dengan 0,0 menghasilkan tak terhingga positif , dan angka negatif - tak terhingga negatif .

Konsep-konsep ini diwakili oleh konstanta Ganda khusus:

Kode Keterangan
public static final double POSITIVE_INFINITY = 1.0 / 0.0;
Tak terhingga positif
public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
Tak terhingga negatif

"Dan itu benar-benar berhasil?"

"Ya. Lihat ini:"

Kode
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
Keluaran layar:
Infinity
Infinity
Infinity
-Infinity

"Ini benar-benar berhasil. Dan jika kita memiliki ambiguitas? Misalnya, jika kita mengurangi ketidakterbatasan dari ketidakterbatasan?"

"Untuk ini, Java memiliki konsep lain: Not-a-Number ( NaN )."

"Ini digunakan dalam berbagai situasi:"

1)  String sedang dikonversi menjadi angka, tetapi berisi huruf. Hasilnya NaN.

2) Tak terhingga dikurangi tak terhingga. Hasilnya NaN.

3) Banyak situasi lain di mana kita mengharapkan angka, tetapi kita berakhir dengan sesuatu yang tidak terdefinisi.

"Jadi, operasi apa yang bisa kamu lakukan dengan Infinity dan NaN?"

"Dengan NaN, ini sangat sederhana. Setiap operasi yang melibatkan NaN menghasilkan NaN."

"Dan dengan infinity, Anda dapat melakukan hal berikut:"

Ekspresi Hasil
n ÷ ±Infinity
0
±Infinity × ±Infinity
± Tak terhingga
±(something other than zero) ÷ 0
± Tak terhingga
Infinity + Infinity
Ketakterbatasan
±0 ÷ ±0
NaN
Infinity - Infinity
NaN
±Infinity ÷ ±Infinity
NaN
±Infinity × 0
NaN

"Itu masuk akal. Terima kasih, Rishi."