Хоча ні Double.max
, це визначено в float.h
заголовку C , до якого ви можете отримати доступ у Swift через import Darwin
.
import Darwin
let fmax = FLT_MAX
let dmax = DBL_MAX
Це приблизно 3.4 * 10^38
і 1.79 * 10^308
відповідно.
Але майте на увазі, що з числами з плаваючою крапкою це не так просто (з числами з плаваючою комою ніколи не буває просто). Утримуючи такі великі числа, ви втрачаєте точність подібно до втрати точності при дуже малих числах, тому:
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
Отже, перед тим, як вдатися до деяких обчислень, які можуть зрівнятися з цими межами, ви, мабуть, повинні прочитати про плаваючу крапку. Тут і тут , мабуть, вдалий старт.