The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Помогите! Как избавится от ошибок вычислений процессора?"
Отправлено rgo, 15-Мрт-05 05:36 
1. Если на FPU выполнять один и тот же набор операций над одними о теми же данными результат _всегда_ будет одинаковый. Но если вы возьмёте другой FPU (к другому процессору приложеный, может не от intel), или попробуете пользовать эиуляцию, то результат может оказаться слегка другим, например, потому, что при округлении (в пятнадцатом или каком там знаке) он округляет иначе.
2. 5.0000000 и 4.9999999 это одно и тоже. Даже в математике 5 == 4.(9) (девятка в периоде). Это проблемы записи.
3. очень рекомендую читать Д.Кнута, там написано почему не стоит использовать оператор `==' в программе, и откуда берутся погрешности.
4. А вообще возми C++ и переопредели operator==(double, double) в каком-нибудь хедере примерно так:

static inline bool operator== (double a, double b) {
return fabs (a - b) < .0005
}

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру