возведение в степень

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
ilyagoo
Сообщения: 3
Зарегистрирован: 22 окт 2007, 16:11

возведение в степень

Сообщение ilyagoo » 24 окт 2007, 08:48

каким образом можно возвести рациональное число в рациональную степень с большой тосностью на Си? встроенная pow дает не более 7 знаков после запятой, остальное округляет (теряется смысл использование типа long double)

BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

Re: возведение в степень

Сообщение BBB » 24 окт 2007, 09:10

В принципе, степень можно считать через логарифмы (по крайней мере, для положительных чисел).
Используя следующие преобразования:

x = a^b
Логарифмируем:
ln (x) = ln (a^b) = b * ln (a)

Обратно, возводим е в степень:

e^ (ln (x)) = e^ (b * ln (a))

В итоге получаем формулу:
x = e^ (b * ln (a))

Насчет точности - не знаю. смотри сам.

ilyagoo
Сообщения: 3
Зарегистрирован: 22 окт 2007, 16:11

Re: возведение в степень

Сообщение ilyagoo » 24 окт 2007, 09:15

так и логарифм урежет знаки
например, хотелось ба получить точныйрезультат pow(0.1e-20,0.1e-20

Ответить