powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Точная арифметика.
25 сообщений из 50, страница 1 из 2
Точная арифметика.
    #33237311
Хитрый Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Пишу небольшой 3d-конструктор на OpenGL(компилятор VC6.0 и MFC). Все вычисления производятся во float и при этом неибежна потеря данных, связанная с неточностями в арифметике(потеря значимости и т.п.) у типов с плавающей точкой. Помогите разобраться в этом достаточно серьезном вопросе.
...
Рейтинг: 0 / 0
Точная арифметика.
    #33238998
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хитрый МухПишу небольшой 3d-конструктор на OpenGL(компилятор VC6.0 и MFC). Все вычисления производятся во float и при этом неибежна потеря данных, связанная с неточностями в арифметике...

Может я что то не понимаю, но порядок округления получаемых значений - мало зависит от языка. Тут больше логика и понимания проблем погрешности вычислений. Другими словами - у Вас проблема не с языком. У Вас проблема с математикой...


с уважением
(круглый)
ЗЫ
Возможно и этот вопрос мона решить - но тут нужно иметь сам код. Т.е. те телодвижения которые делаете Вы.
...
Рейтинг: 0 / 0
Точная арифметика.
    #33239109
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хитрый МухДобрый день!
Пишу небольшой 3d-конструктор на OpenGL(компилятор VC6.0 и MFC). Все вычисления производятся во float и при этом неибежна потеря данных, связанная с неточностями в арифметике(потеря значимости и т.п.) у типов с плавающей точкой. Помогите разобраться в этом достаточно серьезном вопросе.

В чем проявляется потеря данных ? То есть как
вы это заметили и почему полагаете, что виноваты
вычисления во float?
...
Рейтинг: 0 / 0
Точная арифметика.
    #33239980
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема -то в чем ? Не ясно.
...
Рейтинг: 0 / 0
Точная арифметика.
    #33240062
VNS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда надо использовать double.
...
Рейтинг: 0 / 0
Точная арифметика.
    #33240174
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть довольно популярная задачка. Дано: окружность
и точка, которая по ней двигается по известному закону.
Требуется реализовать анимацию движения этой точки
для заданных интервалов времени dt. Студент диффереци-
рует уравнение зависимости x,y от времени и получает
уравнение движения. И .... точка начинает двигатся
ПО СПИРАЛИ (!). Студент впадает в кому.

Это я к тому рассказываю, что если чего-то не ладится
с вычислениями, стоит обратить внимание на саму
модель вычислений. И в данном примере дело
было вовсе не в разрядности а в понимании
самой
постановки.
...
Рейтинг: 0 / 0
Точная арифметика.
    #33245697
Хитрый Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем кто ответил!
Извините за задержку - инет кончился)))
В общем, приведу небольшой пример:

Код: plaintext
1.
2.
3.
4.
float x =  5555 .f;
   x = x/ 1000 .f;
   printf("%.10f", x);
   x = x* 1000 .f;
   printf("%.10f", x);
посмотрите какая ерунда будет происходить с переменной x
...
Рейтинг: 0 / 0
Точная арифметика.
    #33250420
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хитрый МухСпасибо всем кто ответил!
Извините за задержку - инет кончился)))
В общем, приведу небольшой пример:

Код: plaintext
1.
2.
3.
4.
float x =  5555 .f;
   x = x/ 1000 .f;
   printf("%.10f", x);
   x = x* 1000 .f;
   printf("%.10f", x);
посмотрите какая ерунда будет происходить с переменной x

А чего вы ожидали?
Именно поэтому такие действия в машинных вычислениях являются почти что запрещенными (естественно для тех кто хочет получить нормальный результат)))).
При неосторожном делении вы теряете точность, а при умножении получаете паразитные значения. И поэтому никогда не следует их совмещать. В общем можно руководствоваться принципом -- с каждым значением выполнять по возможности "опасных" минимум операций. Кстати, суммирование ряда величин следует вести с наименьших.
А собственно точные принципы разъясняются в любой книге по вычислительной математике.
...
Рейтинг: 0 / 0
Точная арифметика.
    #33250489
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потеря значений - общая проблема ВСЕХ технологий основанных на цифровых методах обработки информации. Вот точность можно повышать.
...
Рейтинг: 0 / 0
Точная арифметика.
    #33251050
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SarinПотеря значений - общая проблема ВСЕХ технологий основанных на цифровых методах обработки информации. Вот точность можно повышать.

Вот никак не пойму, откуда такой термин-то выкопал ты -- потеря значений?
Это вы типа переменные теряете?)))
Или имеешь в виду то, что происходит при дискретизации аналогового сигнала в устройствах типа АЦП?
В данном случае обсуждается только потеря ТОЧНОСТИ. Разрядную сетку под мантиссу числа можно увеличивать бесконечно, но элементарные неграмотные операции приведут обратно все к тому же числовому мусору.
...
Рейтинг: 0 / 0
Точная арифметика.
    #33251189
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь пишут про subj http://cch.loria.fr/documentation/IEEE754
...
Рейтинг: 0 / 0
Точная арифметика.
    #33252746
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Термин называется "потеря значимости". Возникает при сложении двух чисел, одно из которых большое, другое маленькое. Для сложения на сумматоре числа должны быть приведены из нормализованного состояния к одному порядку. Это достигается за счет сдвига мантиссы меньшего числа вправо на какое-то число разрядов, чтобы сравнять порядки. При больших разницах порядка младшие знаковые разряды меньшего числа спадают с разрядной сетки и не участвуют в сложении, меньшее число вообще даже может превратиться в ноль. Таким образом, что прибавляешь это число, что нет - результат не меняется.
...
Рейтинг: 0 / 0
Точная арифметика.
    #33263189
AlexeyStaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelikkА собственно точные принципы разъясняются в любой книге по вычислительной математике.
Не подскажите ли какую-нибудь электронную книгу/документацию по вычмату?
...
Рейтинг: 0 / 0
Точная арифметика.
    #33263972
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любой учебник для вузов по выч. технике. Например,
http://www.ozon.ru/context/detail/id/1713413
...
Рейтинг: 0 / 0
Точная арифметика.
    #33267152
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЛюбой учебник для вузов по выч. технике. Например,
http://www.ozon.ru/context/detail/id/1713413

Мимо!! Дискетна математика не имеет никакого отношения к вычислительной и проблемами точности вычислений не занимается!
А к тому же эта книжка не очень удачная, особенно по стилю изложения материала.
...
Рейтинг: 0 / 0
Точная арифметика.
    #33267161
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для теоретического изучению я бы порекомендовал: Бахвалов, Жидков "Численные методы". И Cамарский, Гулин "Численные методы"


________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
...
Рейтинг: 0 / 0
Точная арифметика.
    #33267538
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть я Новиковых перепутал ? Что ж их так много что ли ?
Блин, этот из политеха, а мне из ЛИТМО был нужен ...
...
Рейтинг: 0 / 0
Точная арифметика.
    #33275337
Хитрый Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе, я уже разобрался почему возникают погрешности вычислений!
Но, блин, может быть существуют уже готовые решения в виде, скажем, библиотек для точных вычислений?
...
Рейтинг: 0 / 0
Точная арифметика.
    #33277583
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть например gmt.
www.gnu.org
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Точная арифметика.
    #39031279
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LelikkДля теоретического изучению я бы порекомендовал: Бахвалов, Жидков "Численные методы". И Cамарский, Гулин "Численные методы"


________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц

Любая книга с фамилией Самарский представляет собой качественное изложение материала по вычислительной математике
...
Рейтинг: 0 / 0
Точная арифметика.
    #39031282
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЕсть например gmt.
www.gnu.org

А сейчас этот совет актуален ?
PS
Хочу хотя бы одну программу численного решения ДУ написать не на Maple. Зря что-ли мне так Си нравится :) Заодно сравню по вопросу скорости, но думаю на Си будет медленнее. Будет здорово если ошибаюсь
...
Рейтинг: 0 / 0
Точная арифметика.
    #39031293
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SS
Любая книга с фамилией Самарский представляет собой качественное изложение материала по вычислительной математике

Да что там качественное. Это мелочи. Это один из величайших математиков России, провёл ряд фундаментальных исследований в области теории численных методов, разностных схем.
...
Рейтинг: 0 / 0
Точная арифметика.
    #39031387
Фотография битый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SarinПотеря значений - общая проблема ВСЕХ технологий основанных на цифровых методах обработки информации. Вот точность можно повышать. Так уж и всех?
Квантор требует осторожности в использовании...
...
Рейтинг: 0 / 0
Точная арифметика.
    #39031498
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury, ну ты некромансер блин. Поднял материал 10-летней давности. Автор уже давно
решил это проблему или завязал с кодинком и пошёл в торговлю.
...
Рейтинг: 0 / 0
Точная арифметика.
    #39031534
BagaBaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз уж подняли некротопик, пусть будет
What Every Computer Scientist Should Know About Floating-Point Arithmetic
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Точная арифметика.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]