Я понимаю, что вычисления с плавающей точкой имеют проблемы с точностью, и есть много вопросов, объясняющих почему. Мой вопрос заключается в том, что если я буду выполнять один и тот же расчет дважды, могу ли я всегда полагаться на него для получения того же результата? Какие факторы могут повлиять на это?
- Время между вычислениями?
- Текущее состояние процессора?
- Различные аппаратные средства
- Язык/платформа/ОС?
- Солнечные вспышки?
У меня есть простая физическая симуляция и хотелось бы записывать сеансы, чтобы их можно было воспроизвести. Если на вычисления можно полагаться, тогда мне нужно будет только записать начальное состояние плюс любой пользовательский ввод, и я всегда должен точно воспроизвести конечное состояние. Если расчеты не являются точными, ошибки в начале могут иметь огромные последствия к концу моделирования.
В настоящее время я работаю в Silverlight, хотя было бы интересно узнать, можно ли вообще ответить на этот вопрос.
Обновление:. Исходные ответы указывают да, но, видимо, это не совсем ясно, как обсуждалось в комментариях к выбранному ответу. Похоже, мне нужно будет сделать некоторые тесты и посмотреть, что произойдет.