Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2012, 15:41   #1
inmyacid
Пользователь
 
Аватар для inmyacid
 
Регистрация: 17.04.2012
Сообщений: 42
По умолчанию Странное накопление double переменной

Добрый день. Есть функция f(x) x принимает значения от a до b с шагом h.
Написал программу НО при отладке обнаружил что при a=0 b=3 h=0,1,
в цикле накопление шага происходит не равномерно значение x(в моем случае это счетчик i) увеличивается не ровно на 0,1, в связи с этим происходит неправильное выполнение функции при дальнейших округлениях. Прилагаю наглядный скриншот , при дальнейших шагах h, округление дает не верный результат
inmyacid вне форума Ответить с цитированием
Старый 07.06.2012, 17:33   #2
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 822
По умолчанию

Нехорошо, конечно, но если происходит ошибка, тогда делайте сеппуку этому счетчику функцией Round.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 07.06.2012, 19:20   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Цитата:
не ровно на 0,1
ровно 0.1 не представимо однозначно в бинарной форме с плавающей запятой, так что так и должно быть. А цикле погрешность быстро накапливается.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
накопление статистики Slavdholl PHP 2 31.03.2011 12:54
функция pow(double x, double y) Не могу понять в чем ошибка Vlashel Помощь студентам 3 07.10.2010 16:28
накопление+отсеивание xxxxx0111 Microsoft Office Excel 4 09.02.2010 13:32
progressBar(накопление по одному кубику) Siluet Общие вопросы Delphi 4 21.12.2009 21:08