Avatar ·

Как точно вычислить корень n степени числа

📁 python, пример

Например необходимо вычислить корень 3 степени из 27000. Я записывал следующими способами

a = pow(27000, 1/3) # ответ выходит примерно 29.99999993a = 27000**(1/3) # ответ тот же

Пытался использовать модуль fractions , но ответ не меняется. Как найти точное число, если есть такая возможность. Округление не желательно

Avatar ·

Это общая проблема почти любого языка программирования. Дело в том, что континуум значений множества реальных значений каким-то способом надо отобразить на конечный набор машинных значений. Обычно это делается методом, который описывается стандартом

64 битовая (двойная точность) раскладка битов будет такая

Соответственно принципиально есть числа, которые непредставимы точно - в данном случае 1/3 - не представимо точно. Возникнет невязка в районе 1e-8, что и дает 29.99999999

Можно посмотреть на точность представления

Войдите чтобы оставить ответ

Блоги