![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 01.10.2013
Сообщений: 2
|
![]()
Есть такой код:
Код:
Последний раз редактировалось Stilet; 01.10.2013 в 21:36. |
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
P.S. А интересно почему действительно <= не срабатывает на равенство. Неужели из-за костылей проца при работе с вещественными?
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
см. пост (особенно статью Антона Григорьева рекомендую...) Не знаю, конечно, как там в C, но, думаю, что общая логика машинного представления вещественных чисел одинакова хоть для Delphi, хоть для C! |
|
![]() |
![]() |
![]() |
#4 | ||
Новичок
Джуниор
Регистрация: 01.10.2013
Сообщений: 2
|
![]() Цитата:
Цитата:
Последний раз редактировалось Stilet; 02.10.2013 в 09:36. |
||
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 02.01.2011
Сообщений: 3,328
|
![]()
А я не могу прочитать статью. Пишет, что "404 - Компонент не найден"
Про "Загадки округления" интересно написано. Нужно будет прочитать. Спасибо за ссылку! Последний раз редактировалось 8Observer8; 01.10.2013 в 23:59. |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ваша правда. умерла ссылочка...
но статью легко найти поиском. Более того, доступен оригинал статьи на сайте королевства Дельфи: Антон Григорьев. "Неочевидные особенности вещественных чисел" |
![]() |
![]() |
![]() |
#7 | |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]()
вещественный числа вообще нельзя никогда сравнивать на равенство оператором == (а также <=, >=).
Вещественные числа всегда сравниваются с какой-то погрешностью. Ну или вотъ: http://www.cplusplus.com/reference/cmath/islessequal/ но я этой штукой ниразу не пользовался, и не знаю как оно работает ) Там есть примечание: Цитата:
|
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 07.08.2011
Сообщений: 576
|
![]()
Почему то в литературе особо акцент на ото не делается. Была подобная проблема ни один день на это убил. Кто же знал что float нельзя сравнить с абсолютной точностью.
Пришлось использовать int а в теле цикла привел к float и умножил на нужный коэффициент. |
![]() |
![]() |
![]() |
#9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Да и если честно она не такая уж и назойливая, т.е. она есть но ее в 100% случаев можно обойти описав код по другому.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#10 |
Санитар
Старожил
Регистрация: 04.10.2008
Сообщений: 2,577
|
![]()
Да про что тут писать то?
Если уж очень хочется почитать, ищи в книжках по теории автоматов (вроде бы в етих разделах описываются разные варианты хранения чисел в ЭВМ). Вот другой пример: http://ideone.com/PRnt8Y Код:
Ошибки по типу той, что у ТС хрен выловишь. У меня такие проблемы возникали при работе с графическими сценами (потому что всякие опенглы хранят координаты объектов в дробных числах) и когда ты захочешь узнать лежат ли 2 объекта друг под другом начинаешь использовать всякие штуки типы qFuzzyCompare (если бы проблемы можно было всегда избежать - таких костылей бы не существовало впринципе). |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Условный оператор,оператор цикла и массив | Klark73 | Microsoft Office Excel | 1 | 19.12.2011 17:09 |
Оператор выбора или условный оператор[Перенесено из JavaSE] | merhaba1992 | Помощь студентам | 1 | 20.01.2011 17:06 |
Условный оператор. Оператор выбора. Pascal | Сержuk | Помощь студентам | 4 | 17.11.2010 12:50 |
Вычислить используя, оператор цикла for и оператор безусловного пе | Knubbe | Помощь студентам | 1 | 18.12.2009 10:24 |