|
-3 / 0 / 1
Регистрация: 29.03.2018
Сообщений: 396
|
||||||
Откуда ошибка в укорачивании дробной части?20.03.2024, 14:43. Показов 1464. Ответов 29
Метки нет (Все метки)
Появляется странная ошибка во второй функции: число drob считается неверно и мало похоже на дробную часть входного числа x.
Вот пример работы при makeShorter(123456.012345, 3) teI: 123456 drob: 0.015625 teS1: 0.015 stof: 0.015 vihod=123456 То есть drob получает неправильное значение, а потом ещё и к vihod не прибавляется дробная часть. Из-за чего так происходит?
0
|
||||||
| 20.03.2024, 14:43 | |
|
Ответы с готовыми решениями:
29
Ошибка при вычислении дробной части Найти среднее арифметическое между суммами 1-й и 2-й цифр целой части и 2-й и 3-й цифрами дробной части числа
|
|
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
|
|
| 21.03.2024, 11:27 | |
|
0
|
|
|
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,464
|
||
| 21.03.2024, 11:54 | ||
|
01000100101100100001000000000000 Но если будет, например, 14.244, то формула работать не будет, ибо в двоичном виде (32-bit) 1424.4 выглядит как: 01000100101100100000110011001101 тогда как, на самом деле, это бесконечная дробь с повторяющейся частью 1100 Даже если возьмешь 64-bit float или триллион битов, все равно погрешность) ChioraYaz, выше я и TheCalligrapher вам писали, что "обрезка дробной части" лишена смысла для чисел с плавающей запятой. Еще раз говорю, настрой просто вывод, не трогай число.
0
|
||
|
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
|
|
| 21.03.2024, 13:14 | |
|
0
|
|
|
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,464
|
|||||||||||
| 21.03.2024, 13:41 | |||||||||||
|
commun, что мешает самому попробовать?
commun, вообще, все ещё проще. Эти округления на самом деле здесь ни при чем, просто некоторые числа, как писал выше, не представляются без погрешности:
0
|
|||||||||||
|
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
|
|||||||
| 21.03.2024, 13:42 | |||||||
0
|
|||||||
|
6296 / 3018 / 1053
Регистрация: 01.06.2021
Сообщений: 11,464
|
|
| 21.03.2024, 13:50 | |
|
commun, <cmath> здесь вообще никакой роли не играет, это заголовок, который нужно подключить при работе с round. Касательно, cout.precision(50), то его писал только для презентации погрешности. Даже если без него ты получаешь на выводе 14.24, это не означает, что нет погрешности. Просто дефотный precision для cout меньше 50, поэтому ты не видишь погрешность.
0
|
|
|
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
|
||
| 21.03.2024, 13:54 | ||
|
В Basic есть функция округления: Round(ОкругляемоеЗначение, ТребуемоеКоличествоЗнаковПослеЗапятой) (значение 5 округляется в большую сторону). В C++ round(Number) - это отбрасывание дробной части. Нужно два знака - умножили на 100, отбросили дробную часть, разделили на 100.
Добавлено через 4 минуты
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 21.03.2024, 15:26 | |
|
0
|
|
|
Вездепух
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
|
|||
| 21.03.2024, 17:47 | |||
round без #include <cmath>?cout.precision(6). То есть не бывает никакого "без cout.precision". cout.precision есть всегда.
0
|
|||
|
459 / 246 / 15
Регистрация: 29.10.2014
Сообщений: 1,084
|
|
| 21.03.2024, 19:35 | |
|
0
|
|
| 21.03.2024, 19:35 | |
|
Определить равна ли сумма k цифр дробной части заданного вещественного числа сумме цифр целой части
Определения, равна сумма цифр целой части вещественного числа сумме такого же количества цифр в дробной части Определить равна ли сумма цифр из целой части действительного числа суммы такого же количества цифр из дробной части Первые две цифры в дробной части числа совпадают с записью целой части этого числа Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|