|
Нарушитель
6339 / 3072 / 1054
Регистрация: 01.06.2021
Сообщений: 11,802
|
|
Точность float & double29.07.2021, 19:35. Показов 10785. Ответов 37
Метки нет (Все метки)
Можно ли повысить точность вычислений в C++.
С помощью cout.precision() получил то, что на скрине, но все равно точны 7 знаков после запятой для float и 15 знаков для double. Кроме того, как еще увеличить количество знаков после запятой (precision после 53 не работает).
0
|
|
| 29.07.2021, 19:35 | |
|
Ответы с готовыми решениями:
37
Почему точность Double такая же как у Float ? Создать функцию с параметрами GetFunctionValue(double& a, double& b, double& c, double& x)... Реализовать в виде GetFunctionValue(double& a, double& b, double& c, double& x) |
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||
| 31.07.2021, 20:02 | ||||
|
На википедии отлично расписаны диапазоны и точность этих двух типов.
Добавлено через 3 минуты Добавлено через 2 минуты Добавлено через 3 минуты
0
|
||||
|
|
||||||||
| 31.07.2021, 22:28 | ||||||||
|
вот например, я очень точно сохранил во флоате 40 десятичных знаков. Что это, Википедия врёт?
0
|
||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||
| 01.08.2021, 05:24 | ||||
|
Добавлено через 1 минуту Добавлено через 25 минут
0
|
||||
|
|
|
| 01.08.2021, 06:25 | |
|
SmallEvil, ржака просто. Оказывается оптимизация влияет на функцию printf! Что ещё скажешь смешного?
Добавлено через 6 минут - Плавающие типы в компьютере являются двоичными. Разговаривать об их абстрактной точности можно только в терминах количества двоичных знаков. - точность плавающих типов не абстрактна, ни в коем случае !! ну если же флоат хранит ровно N неабстрактных десятичных знаков после запятой, то почему он называется флоат?
0
|
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||
| 01.08.2021, 09:12 | |||
|
Вы не согласны, что дробные числа представляются двоичными? Или что в рассуждениях об их точности без применения к конкретной задаче говорить можно только о количестве разрядов? А главное - почему и как исправить это утверждение чтобы оно было по-вашему верным?
0
|
|||
|
Нарушитель
6339 / 3072 / 1054
Регистрация: 01.06.2021
Сообщений: 11,802
|
|
| 01.08.2021, 11:18 [ТС] | |
|
Kuzia domovenok, мне кажется, что float хранит не ровно n цифр после запятой, а хранит 6-9 значащих цифр (significant digits), а если точнее , то float в C++ занимает 32 бита, из которых 23 бита идут на значащие цифра, 8 битов на экспоненту и 1 бит на знак. Так говорит стандарт IEEE 754 для float (binary32).
0
|
|
|
Вездепух
13233 / 6865 / 1827
Регистрация: 18.10.2014
Сообщений: 17,398
|
||
| 01.08.2021, 11:24 | ||
|
С той стандартной оговоркой, что внутренне представление IEEE754 плавающих типов - двоичное. И сколько бы "десятичных значащих цифр" вам ни обещали, точно представить число 0.110, в котором всего одна значащая десятичная цифра, ни один из двоичных IEEE754 форматов не сможет.
1
|
||
|
Нарушитель
6339 / 3072 / 1054
Регистрация: 01.06.2021
Сообщений: 11,802
|
|
| 01.08.2021, 11:27 [ТС] | |
|
TheCalligrapher, а я же не просил говорить об этом
я же спрашивал, как выполнять в C++ точные расчеты (не обязательно нативными типами)Добавлено через 54 секунды Тут кто-то советовал создавать свою структуру - это уже ближе к моему вопросу.
0
|
|
|
Нарушитель
6339 / 3072 / 1054
Регистрация: 01.06.2021
Сообщений: 11,802
|
|
| 01.08.2021, 11:29 [ТС] | |
|
Croessmah, там вообще arbitrary precision, это очень сложная работа
0
|
|
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
||
| 01.08.2021, 11:43 | ||
|
Можно только задать определенную точность и пользоваться ей.
0
|
||
|
зомбяк
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
|
||
| 01.08.2021, 11:50 | ||
|
0
|
||
|
Нарушитель
6339 / 3072 / 1054
Регистрация: 01.06.2021
Сообщений: 11,802
|
|
| 01.08.2021, 12:47 [ТС] | |
|
TRam_, я писал не о символьных (аналитических) вычислениях, где все нужно хранить в виде дробей, мат.констант, логарифмов, тригонометрических, спец функций и т.д. - это будет очень сложно. Мне создавать систему компьютерной алгебры (CAS) не нужно.
Мне просто интересно, неужели нет простого способа получить, например, 50 значащих цифр sqrt(2) ?
0
|
|
|
Гвоздь Задиров
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
|
|
| 01.08.2021, 13:02 | |
|
0
|
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|
| 01.08.2021, 13:35 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 01.08.2021
Сообщений: 7
|
||||||
| 01.08.2021, 14:28 | ||||||
|
если передавать из массива строк, то имплементируется булевое значение через атрибут импорта
0
|
||||||
|
COM‐пропагандист
|
||
| 04.08.2021, 12:42 | ||
|
А трансцендентные числа представлять в виде именованных констант, как в математике.
0
|
||
| 04.08.2021, 12:42 | |
|
Реализовать в виде GetFunctionValue(double& a, double& b, double& c, double& x) Реализовать в виде GetFunctionValue(double& a, double& b, double& c, double& x) Преобразовать 2 числа int в 1 число float(double) | double int1.int2
Точность float Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|