Страница 2 из 2

Re: Прошу объяснить матекатику 1,8-1=0,800001

Добавлено: 19.03.2015 16:07:26
Дож
Конечно, согласуется :) Весь прикол в том, что я ничего не вычислял, не округлял! Я просто взял 0.8 и распечатал. Это и есть представление числа 0.8 в формате Double. 8/10 в двоичной системе счисления является периодической дробью, а потому не может быть точно записано (не может быть точно записано конечным числом знаков).

Re: Прошу объяснить матекатику 1,8-1=0,800001

Добавлено: 19.03.2015 16:12:35
zub
Лично сталкивался с "проблемами" плавающей точки за всё время использования всего пару раз:
первый - когдато давно, в модуле math поломали толи tan, толи arctan - непомню, быстро починили, но я успел поломать голову откуда у меня взялись эти косяки))
второй - при отображении средствами опенгл графики очень сильно удаленной от начала координат - тогда в матрицу проекции проскакивают как очень большие числа, так и очень маленькие и результат операций над ними какраз на уровне погрешности. картинка во вложении. Проблема решаемая и ей страдают не только приложения написанные на фпц, разрабы которого не позаботились о "высокоуровневости"))

Re: Прошу объяснить матекатику 1,8-1=0,800001

Добавлено: 19.03.2015 18:44:55
Sharfik
Я когда писал название не ориентировался на свою ситуацию, а просто суть описал.

Добавлено спустя 10 минут 52 секунды:
Re: Прошу объяснить матекатику 1,8-1=0,800004
zub писал(а):Лично сталкивался с "проблемами" плавающей точки за всё время использования всего пару раз:
первый - когдато давно, в модуле math поломали толи tan, толи arctan - непомню, быстро починили, но я успел поломать голову откуда у меня взялись эти косяки))
второй - при отображении средствами опенгл графики очень сильно удаленной от начала координат - тогда в матрицу проекции проскакивают как очень большие числа, так и очень маленькие и результат операций над ними какраз на уровне погрешности. картинка во вложении. Проблема решаемая и ей страдают не только приложения написанные на фпц, разрабы которого не позаботились о "высокоуровневости"))

Меня этот баг добил просто... нормальных программ под промышленное электроснабжение найти сложно, начал свою делать, потом полезло, это сам, тут сам, там сам. Тут проект новый перерыв, теоретически модуль расчета нагрузок можно было успеть сделать, и не чертить руками всю ерунду, а срок старта работы подошел, а вместо нужного расчета оказывается что коэффициент все программа выбрать не может. Опять полевые испытания откладываются.
PS: Давно хотел сказать. Ты бы примеры проекта крикладывал к zcad, я когда пробовал разобраться как и что работает в нем, кроме простых демок dxf ничего не находил внутри. И понять как с ним работать сложно без рабочего примера.

Re: Прошу объяснить матекатику 1,8-1=0,800004

Добавлено: 19.03.2015 20:14:44
zub
Примеры там получаются очень узко специализированные - расстановка извещателей, нумерация, автоматическая прокладка кабелей, построение "рыбы" для схем подключений-соединений Среднестатистическому интересанту неинтересны будут - "общечертежный" функционал почти не развит. Всё собираюсь подбить пдфку в комплекте до актуального состояния - но лень съедает всё свободное время)) Сейчас доделываю очередную эпопею с инспектором - подделжка редактирования множественного выбора примитивов и надеюсь возмусь.
Ты не рассматривал зкад как чертилку под свои нужды?

Re: Прошу объяснить матекатику 1,8-1=0,800004

Добавлено: 19.03.2015 21:53:32
Sharfik
в теме твоей программы написал ответ.
viewtopic.php?p=85173#p85173

Re: Прошу объяснить матекатику 1,8-1=0,800004

Добавлено: 23.03.2015 15:01:59
mig-31
Описанную вами ситуацию видел недавно и в LabView. Так что FreePascal имплементирует точность правильно.