Trong khi không có Double.max
, nó được định nghĩa trong float.h
tiêu đề C , bạn có thể truy cập trong Swift thông qua import Darwin
.
import Darwin
let fmax = FLT_MAX
let dmax = DBL_MAX
Đây là khoảng 3.4 * 10^38
và 1.79 * 10^308
tương ứng.
Nhưng hãy nhớ rằng nó không đơn giản như vậy với số dấu phẩy động (nó không bao giờ đơn giản với số dấu phẩy động). Khi giữ các số lớn như vậy, bạn sẽ mất độ chính xác theo cách tương tự như mất độ chính xác với các số rất nhỏ, vì vậy:
let d = DBL_MAX
let e = d - 1.0
let diff = d - e
diff == 0.0
let maxPlusOne = DBL_MAX + 1
maxPlusOne == d
let inf = DBL_MAX * 2
inf == Double.infinity
Vì vậy, trước khi bạn tham gia vào một số phép tính có thể vượt qua những giới hạn này, bạn có thể nên đọc về dấu phẩy động. Đây và đây có lẽ là một khởi đầu tốt.