|
5 / 5 / 1
Регистрация: 04.07.2014
Сообщений: 73
|
|
В поисках логики22.10.2014, 14:40. Показов 3552. Ответов 41
Метки нет (Все метки)
Проблема известная но окончательного ответа я так и не нашел...
int a,b; a=(0.1+0.7)*10; b=(0.1+0.8)*10; cout << a << ' ' <<b; // 7 9
0
|
|
| 22.10.2014, 14:40 | |
|
Ответы с готовыми решениями:
41
Борьба с padding. В поисках логики В поисках AV Проверить истинность формулы логики предикатов. Формулы логики предикатов. Область истинности формулы |
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
| 22.10.2014, 20:46 | |
|
Ты совсем? Если бы приводилось точно представимое, например, (0.5+0)*10, то получилось бы правильно:
0.5 десятичное=0.1 двоичное, 0.1*1010=101.0, округляем и получаем 101 двоичное, переводим в десятичное и получаем 5.
0
|
|
| 22.10.2014, 20:47 | |
|
0
|
|
|
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
|
||||||||||||||||||
| 22.10.2014, 20:53 | ||||||||||||||||||
|
Izual, не совсем так
![]()
ymniktm, посмотрите стандарт IEEE (ANSI/IEEE Std. 754-1985), там написано, почему
1
|
||||||||||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||||||
| 22.10.2014, 21:03 | ||||||||||
|
Не по теме:
taras atavin, ох, как с вами сложно, "будете смотреть и не увидите"... Я указал на то что проблема в том, что при использовании INT при вычислении будет результат, отталкивающийся от разрядности, в чём в общем и финал решения проблемы автора. Ещё бисерку? Такое ощущение что троллей кормлю, пора заканчивать этот процесс, а то совсем толстыми станете..Добавлено через 1 минуту RefSol, а так?
0
|
||||||||||
|
5 / 5 / 1
Регистрация: 04.07.2014
Сообщений: 73
|
|
| 22.10.2014, 21:06 [ТС] | |
|
ValeryS, у всех double чисел есть два варианта представления "чуть больше" и "чуть мненьше".
Если дело в битах то почему нет аналогичной ошибки у (0.1+0.3)*10 ? Или если следовать рассуждениям taras atavin почему например (int)((0.1+0.1)*10)=2 и (int)((0.7+0.7)*10)=14
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||
| 22.10.2014, 21:08 | |||
|
Добавлено через 1 минуту
0
|
|||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
|
|
| 22.10.2014, 21:09 | |
|
0
|
|
|
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
|
||
| 22.10.2014, 21:15 | ||
|
Izual,
так не верно потому, что тип a (int), т.е. перемененной типа int присваивается float, в С и С++ преобразование типов должно быть явным.
0
|
||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||
| 22.10.2014, 21:18 | ||
|
Не по теме: Я уже вошёл во вкус))) Добавлено через 2 минуты Добавлено через 49 секунд А уже после вычисления результат (float) вида будете округлён в int явный тип... По логике..
0
|
||
|
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
|
|||||||
| 22.10.2014, 21:26 | |||||||
|
Вот описание стандарта на русском
Добавлено через 1 минуту а преобразование типов (по стандарту языка) должно быть явным в C и C++ Добавлено через 2 минуты т.е. например
0
|
|||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||||
| 22.10.2014, 21:28 | ||||||||
0
|
||||||||
|
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
|
||
| 22.10.2014, 21:31 | ||
|
Izual,
Если игнорировать замечания о подобных преобразованиях типов в С и С++ то стиль и качество программ не улучшится.
0
|
||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||
| 22.10.2014, 21:38 | ||
|
0
|
||
|
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
|
|
| 22.10.2014, 21:51 | |
|
0
|
|
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|||||||
| 22.10.2014, 22:32 | |||||||
0
|
|||||||
|
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
|
||||||||||||
| 22.10.2014, 22:38 | ||||||||||||
|
аргументом и доказательством неправильности подобных конструкций является различные результаты строк:
0
|
||||||||||||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
|
| 22.10.2014, 23:02 | |
|
0
|
|
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||
| 23.10.2014, 06:56 | ||
|
0
|
||
|
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
|
||||||
| 23.10.2014, 07:05 | ||||||
|
taras atavin, ну возьми и сам сравни результат:
0
|
||||||
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||
| 23.10.2014, 07:24 | |||||||
0
|
|||||||
| 23.10.2014, 07:24 | |
|
В поисках библиотеки
Помогите в поисках в поисках истины.
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока
Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
|
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов
• Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp
• Смежный проект:. . .
|
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат
Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
|
[golang] Insert Delete GetRandom O(1) (Leetcode: 380)
alhaos 16.06.2026
Insert Delete GetRandom O(1)
Сложность: Medium
Источник: LeetCode 380
Задача
Реализовать структуру данных RandomizedSet, которая поддерживает следующие операции за O(1) в среднем:
|
|
Свет в конце тоннеля
kumehtar 16.06.2026
Поймал себя на одной мысли.
Раньше мне всегда казалось неправильным жить без чёткого понимания, куда всё идёт. Будто я иду по дороге судьбы, но не знаю, куда она ведёт. А раз не знаю — значит,. . .
|
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
Min Stack
Сложность: Medium
Источник: LeetCode 155
Задача:
Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1).
Методы:
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|