|
5 / 3 / 2
Регистрация: 27.04.2022
Сообщений: 63
|
|
Точность чисел с плавающей точкой/запятой10.05.2025, 02:32. Показов 3870. Ответов 42
Метки нет (Все метки)
Добрый день!
Имеется массив чисел типа double от 1.000 до 10.000. Каждое число задано с точность до 10^-3. Также есть метод, который принимает число и возвращает ближайшее большее к нему число из этого массива. Всё работает хорошо, кроме одного числа - 1.6, которое всегда возвращается, собственно, не как 1.6, а как 1.6000000000000003. Я понимаю, что с числами с плавающей точкой/запятой не всё так просто, как может показаться на первый взгляд, но всё-таки: - почему это так работает? Причём только с этим числом. Все остальные возвращаются такими, какими они заданы в массиве; - возможно ли от этого избавиться без применения округлений, обрезаний и прочих инструментов?
0
|
|
| 10.05.2025, 02:32 | |
|
Ответы с готовыми решениями:
42
|
|
|
|
| 14.05.2025, 17:27 | |
|
Для каких-то "единичных" вычислений, особенно финансовых - принят стандарт де-факто: децимал. Расчет вашей зарплаты - да, да - это тоже единичное вычисление, даже если ведется расчет, там.. скажем.. ваших премий за 3 года.
Но есть еще различные итерационные вычисления, в науке например, где использование децимал не применяется, в виду некоторой "тяжести" этого формата. Тогда на арену выходят такие понятия как стат. ошибки, погрешности, нелинейности и прочая такая лабуда, на которую изначально закладывается некоторый процент. При заранее известной некоторой корреляции, берется интеграл от скорости накопления этих погрешностей, и они вычитаются периодически из результата. Следует отметить, что, как правило, в подобных расчетах конечный результат никогда не может быть представлен совершенно точным значением: что в даблах, что в децимал. Однако расчеты в даблах намного более "скоростнее", даже с учетом доп. операций корректировки значений. Например, полученная зарплата суммой, скажем, 65 352р,78 копеек вроде бы достаточно точно говорит сама за себя, несмотря на то, что копейки мы нынче не считаем (не принимаем как что-то значимое). А вот расстояние до Луны, в среднем = 384,4 * 103 км, и оно постоянно варьируется. В этом случае совершенно бессмысленно это расстояние представлять в децимал, т.к. "заранее" оговоренная точность этих измерений с лихвой обеспечивается даблом. То же самое касается и всего подобного другого, например размер молекул, напряженности полей и т.п. Ни кому и в голову не взбредет никогда рассчитывать дистанцию/массу/скорость в децимал, особенно в астрономических масштабах..
0
|
|
|
|
|
| 14.05.2025, 17:32 | |
|
wizard41, Ну дак никто и не спорит о том что если нужна математическая точность - decimal, для всего остального - double/float.
0
|
|
|
|
||
| 14.05.2025, 17:35 | ||
|
0
|
||
| 14.05.2025, 17:35 | |
|
Хранение чисел с плавающей запятой в памяти
число с плавающей точкой Числа с плавающей точкой Введение данных с плавающей точкой в TextBox Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|