Double.greatestFiniteMagnitude невероятно похож на Double.greatestFiniteMagnitude - 1 - PullRequest
0 голосов
/ 26 апреля 2018

В Swift REPL:

$ swift
Welcome to Apple Swift version 3.1 (swiftlang-802.0.53 clang-802.0.42). Type :help for assistance.
  1> Double.greatestFiniteMagnitude == (Double.greatestFiniteMagnitude - Double(1))
$R0: Bool = true
  2>  

То же самое верно для Float32 (и я бы предположил то же самое для других подобных типов)

Я прочитал это и различные другие страницы, посвященные теме неточностей с плавающей запятой, но, похоже, все они говорят о числах после десятичная точка является неточной.

Мои вопросы:

  1. Как это возможно, что вы не можете сохранить число, которое меньше вашего предполагаемого максимального значения?
  2. Это начинает происходить после определенного числа?
  3. Если только некоторыечисла не представимы, их можно предсказать?Сколько отдельных значений может быть сохранено с помощью Double или Float32?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...