powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Точная арифметика
7 сообщений из 7, страница 1 из 1
Точная арифметика
    #37791137
MyNiGoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, пожалуйста, какие существуют паттерны для точной арифметики?
Нужно реализовать корректную обработку случаев 3 * (1 / 3) == 1
Или хотя бы по каким словам погуглить?

Где-то на форуме попадался уже такой топик, а найти не могу(
...
Рейтинг: 0 / 0
Точная арифметика
    #37791154
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MyNiGoo,

Что-то типа "символьная арифметика"; возможно - "классы для работы с рациональными числами".
...
Рейтинг: 0 / 0
Точная арифметика
    #37791162
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если числа окажутся вещественными, то вместо А == В можно делать abs(A-B) < 0.00001 (количество нулей выбирается самостоятельно)
...
Рейтинг: 0 / 0
Точная арифметика
    #37791237
MyNiGoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
немного неверно меня поняли, смысл в том, чтобы цифры, которые потом пойдут в БД, получились вот такими:

1 / 3 = 0,33
1 / 3 = 0,33
1 / 3 = 0,3 4

за счет какого именно числа будет нивелироваться погрешность, безразлично. Главное - подход, при котором round не понадобится. Встречал ведь где-то описание паттерна для таких нужд((
...
Рейтинг: 0 / 0
Точная арифметика
    #37791251
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MyNiGoo,

Непонятно. Тогда это должен быть, к примеру, объект "вычислитель", который считает с избыточной точностью и при своём "округлении" учитывает накопленную погрешность. Потому что у Вас получается, что для вычисления 1/3 недостаточно знать делимое и делитель, т.к. получаются разные результаты.
...
Рейтинг: 0 / 0
Точная арифметика
    #37791330
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MyNiGoo1 / 3 = 0,33
1 / 3 = 0,33
1 / 3 = 0,3 4
1 / 3 = a
1 / 3 = b
1 / 3 = c = 1 - a - b
...
Рейтинг: 0 / 0
Точная арифметика
    #37793361
MyNiGoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жалко, что не вспомнилось. Всем спасибо за внимание и предложенные варианты.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Точная арифметика
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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