170 похожих чатов

Скажите, пожалуйста, я уже несколько дней отлаживаю код для множества

сложных математических преобразований, включая аггрегацию и математическое округление.
На выходе получаю результат, который немного отличается от целевого. Причём видно что ранние переменные отклоняются буквально на десятые доли. А более поздние производные переменные отклоняются всё сильнее и сильнее.

Сначала я писал код экономя оперативу и используя всякие std::uint8 ит.п. Потом при попытке вывода числа получил какой то символ и решил не шутить с тем что не очень понимаю как работает - заменил всё на int, long long int и float.

Мне показалось что int на int делится не очень хорошо, поэтому решил вообще не рисковать и заменил всё что можно, кроме совсем мелких, гарантированно целых чисел не участвующих в преобразованиях, на double.

И вот я делаю cout ряда чисел в цикле, и вижу что, 111.25 выводится нормально, а вот, 131853.5 выводится как 131854.

Причём если сделать cout << std::fixed <<
То выводится ок.

Я предполагаю что, наверное, это просто сокращённая форма вывода. Хотя мне кажется странным идея по умолчанию сокращать и округлять double при выводе.

Я прав или из-за этого могут возникнуть проблемы с точностью вычислений?

6 ответов

7 просмотров

Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

Сокращенная форма вывода, не более. Само число от этого не округляется

Виктор-Nekrasov Автор вопроса
다니엘(줄리아)
Сокращенная форма вывода, не более. Само число от ...

понял, спасибо. А то с этими длительными отладками уже на воду дуть начинаю)

лишнее небольшое подмножество вещественных чисел представляется фиксированным числом разрядом точно, учитывай это и округляй при выводе

А setprecision ставили на выводе?

Виктор-Nekrasov Автор вопроса

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
.
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
.
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Кто может подсказать? Я преобрпзовал изображение в бинарное(у меня установлен трекбар который при установленном значении меняет пиксели на белый если меньше и чёрный если боль...
Константин VS
6
Карта сайта