NaN, Vô cực - 1

"Chào, Amigo!"

"Hôm nay tôi sẽ kể cho các bạn nghe về một số điều thú vị trong Java."

" Vô cực ."

Trong Java, kiểu double có các giá trị đặc biệt cho dương vô cựcâm vô cùng . Một số dương chia cho 0,0 mang lại vô cực dương và một số âm - vô cực âm .

Các khái niệm này được biểu diễn bằng các hằng số Double đặc biệt:

Mã số Sự miêu tả
public static final double POSITIVE_INFINITY = 1.0 / 0.0;
dương vô cùng
public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
vô cực âm

"Và điều đó thực sự hiệu quả?"

"Vâng. Nhìn này:"

Mã số
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
Đầu ra màn hình:
Infinity
Infinity
Infinity
-Infinity

"Nó thực sự hoạt động. Và nếu chúng ta có sự mơ hồ? Ví dụ, nếu chúng ta lấy vô cực trừ đi?"

"Đối với điều này, Java có một khái niệm khác: Not-a-Number ( NaN )."

"Nó được sử dụng trong các tình huống khác nhau:"

1)  Chuỗi đang được chuyển đổi thành số nhưng chứa các chữ cái. Kết quả là NaN.

2) Vô cực trừ vô cực. Kết quả là NaN.

3) Nhiều tình huống khác mà chúng ta mong đợi một con số, nhưng lại kết thúc bằng một thứ không xác định.

"Vậy, bạn có thể thực hiện những thao tác nào với Infinity và NaN?"

"Với NaN, nó rất đơn giản. Mọi thao tác liên quan đến NaN đều dẫn đến NaN."

"Và với vô cực, bạn có thể làm như sau:"

Sự biểu lộ Kết quả
n ÷ ±Infinity
0
±Infinity × ±Infinity
±Vô cực
±(something other than zero) ÷ 0
±Vô cực
Infinity + Infinity
vô cực
±0 ÷ ±0
NaN
Infinity - Infinity
NaN
±Infinity ÷ ±Infinity
NaN
±Infinity × 0
NaN

"Có lý đấy. Cảm ơn, Rishi."