Как точно вычислить корень n степени числа
📁 python, пример
Например необходимо вычислить корень 3 степени из 27000. Я записывал следующими способами
a = pow(27000, 1/3) # ответ выходит примерно 29.99999993a = 27000**(1/3) # ответ тот жеПытался использовать модуль fractions , но ответ не меняется. Как найти точное число, если есть такая возможность. Округление не желательно
Это общая проблема почти любого языка программирования. Дело в том, что континуум значений множества реальных значений каким-то способом надо отобразить на конечный набор машинных значений. Обычно это делается методом, который описывается стандартом
64 битовая (двойная точность) раскладка битов будет такая
Соответственно принципиально есть числа, которые непредставимы точно - в данном случае 1/3 - не представимо точно. Возникнет невязка в районе 1e-8, что и дает 29.99999999
Можно посмотреть на точность представления
Войдите чтобы оставить ответ