|
0 / 0 / 0
Регистрация: 28.02.2018
Сообщений: 94
|
|
Почему в python-e присутствует неточность арифметики вещественных чисел?08.04.2018, 05:22. Показов 8801. Ответов 7
Метки нет (Все метки)
0
|
|
| 08.04.2018, 05:22 | |
|
Ответы с готовыми решениями:
7
Интерпретатор арифметики вещественных чисел
Почему нет вещественных чисел размером менее 4 байт? |
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
| 08.04.2018, 06:52 | |
Сообщение было отмечено Obi-Wan как решение
Решение
Существуют действительные числа, не имеющие точного представления. Попробуй записать точное значение 1/3 в виде десятичной дроби. Похожая ситуация и в машине с двоичной системой счисления, и дело здесь не в питоне.
1
|
|
|
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
|
||||||
| 08.04.2018, 14:33 | ||||||
Сообщение было отмечено Obi-Wan как решение
Решение
Obi-Wan, для того, чтобы получать точный результат нужно использовать специальные типы
1
|
||||||
|
0 / 0 / 0
Регистрация: 28.02.2018
Сообщений: 94
|
|
| 09.04.2018, 10:52 [ТС] | |
|
Пожалуй понял, в устройствах есть ограничения объёма памяти вещественных чисел, поэтому будет неполное представление битов числа и выражение будет выполнено не точным.
0
|
|
|
Фрилансер
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
|
||
| 09.04.2018, 13:17 | ||
Сообщение было отмечено Obi-Wan как решение
РешениеВот простой пример: если работать с простыми дробями, то мы легко получим 1/3 + 1/3 + 1/3 = 1. А на десятичном калькуляторе это будет 0.333333 + 0.333333 + 0.333333 = 0.999999 И даже если увеличить точность в 10 раз, ошибка станет меньше, но останется, потому что 1/3 в десятичных дробях точно не представляется в принципе, никаким числом знаков. Так же и с представлением 0.1 (то есть 1/10) в виде двоичной дроби (как это всё хранится для float) Замечу, что целые числа без дробей, а также дроби вида 0.5, 0.25 представляются в формате float точно (до каких-то пределов, конечно) и таких явных ошибок не дают
1
|
||
|
0 / 0 / 0
Регистрация: 28.02.2018
Сообщений: 94
|
|
| 09.04.2018, 15:26 [ТС] | |
|
У Лутца сказано иначе. Спасибо!
Добавлено через 8 минут У него так: "Вещественная арифметика страдает некоторой долей неточности из-за ограничения объёма памяти, выделяемого для хранения вещественных чисел.". Добавлено через 1 час 26 минут Я так и не понял. Ограничение памяти играет хоть какую-то роль? Добавлено через 13 минут Я так и не понял. Ограничение памяти играет хоть какую-то роль?
0
|
|
|
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
|
|
| 09.04.2018, 16:00 | |
|
0
|
|
|
Фрилансер
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
|
||
| 10.04.2018, 01:29 | ||
|
Так вот, общепринятый способ представления чисел с плавающей точкой не позволяет точно представить 0.1, даже если мы выделим под мантиссу гигабайт. Ошибка станет очень мала, но она будет. И распространится на все вычисления с участием этого числа.
0
|
||
| 10.04.2018, 01:29 | |
|
Помогаю со студенческими работами здесь
8
Почему, если число 1 не является простым, верна основная теорема арифметики? почему экспонент присутствует во всех распределениях
Почему в некоторых Release сборках присутствует атрибут DebuggableAttribute? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
|
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
На примере нетипового документа разработанного в конфигурации КА2.
В качестве источника данных указан регистр накопления, в который записываются данные о. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|