|
1 / 1 / 0
Регистрация: 05.12.2024
Сообщений: 60
|
|
Как обнаружить потерю точности при умножении двух double14.09.2025, 12:13. Показов 4297. Ответов 66
Добрый день,
Пытаюсь разобраться для себя с такими интересными тонкостями вещественной арифметики, как потеря точности и переполнения. Со сложением и вычитанием ясно: если одно из чисел не равно 0, а результат равен второму - значит произошла потеря точности. Но как быть с умножением? Ведь там при потери точности произведение будет равно не одному из множителей, а просто некоему неправильному числу???
0
|
|
| 14.09.2025, 12:13 | |
|
Ответы с готовыми решениями:
66
[Error] cannot convert 'double (*)(double)' to 'double' for argument '1' to 'double pow(double, double)' Найти все двузначные числа, которые при умножении на 2 заканчиваются на 8, а при умножении на 3 - на 4. Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)" |
|
2243 / 1503 / 689
Регистрация: 17.03.2022
Сообщений: 4,784
|
||
| 18.09.2025, 23:11 | ||
|
0
|
||
|
Модератор
|
||
| 19.09.2025, 19:08 | ||
|
Как-то так Вот и те формулы, о которых говорил - делают подобные преобразования. И они уникальны для каждого случая, нет общей единой формулы.
2
|
||
|
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,152
|
||||||
| 19.09.2025, 19:31 | ||||||
|
ФедосеевПавел, преобразование, конечно, хорошее. Отличается от оригинального на ≈3.22*10^-870 и полученное выражение вычисляется очень легко.
ты справился с задачей
1
|
||||||
| 19.09.2025, 19:37 | ||
В моем примере возможны варианты, погрешность- мала, никакой проблемы нет, все работает - существенна. Ну может удастся ее компенсировать напр умышленным уменьшением радиуса - худший случай, слишком велика. Возможно придется отказаться от такого способа расчета и искать другие. Во всяком случае, проблема мне известна И вообще. А зачем это нужно? И нужно ли вообще? Такие вопросы нередко вполне разумны, но по сути это попытка "обойти" изначальную задачу. А может проще и лучше ее решить? (а не пытаться обходить)
0
|
||
|
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,152
|
|
| 19.09.2025, 19:43 | |
|
Igor3D, я сперва не понял, но сейчас норм. Запутала цитата, которая была в посте - про оценку погрешности.
ФедосеевПавел просто преобразовал выражение, заменил на асимптотическое. Но тут же не оценка погрешности.
0
|
|
|
2243 / 1503 / 689
Регистрация: 17.03.2022
Сообщений: 4,784
|
||
| 19.09.2025, 19:44 | ||
|
Соответственно, и погрешность можно оценить просто как остаток ряда Тейлора. В данном случае, впрочем, и этого не надо, поскольку каждый очередной член будет как минимум в
1
|
||
|
6092 / 2783 / 1037
Регистрация: 01.06.2021
Сообщений: 10,152
|
||||||
| 19.09.2025, 19:50 | ||||||
|
ФедосеевПавел, кстати, судя по твоему посту, ты сам искал это приближение, за что респект.
Но, если что, WM это делает одной командой. Ну это типа на будущее, чтобы впредь не тратил время.
1
|
||||||
| 19.09.2025, 19:50 | |
|
Помогаю со студенческими работами здесь
67
Ошибки error C2296: -: недопустимо, левый операнд имеет тип "double (__cdecl *)(double,double,double Создать функцию с параметрами GetFunctionValue(double& a, double& b, double& c, double& x)... Реализовать в виде GetFunctionValue(double& a, double& b, double& c, double& x) Реализовать в виде GetFunctionValue(double& a, double& b, double& c, double& x) Реализовать в виде GetFunctionValue(double& a, double& b, double& c, double& x) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|