![]() |
![]() |
mae 19.04.2004 - 13:53 |
У меня возникла необходимость возвести число в степень "минус одна вторая". Как это можно сделать в c++? на сколько я знаю, оператора степени там нет |
интернетчик хренов 1 - 19.04.2004 - 13:56 |
#inсludе <math.h> ... float base = 12, power = -1; float res = pow(base, power); .... по моему так, если н ошибаюсь ;) |
UE 2 - 19.04.2004 - 14:37 | powf, exp/log... |
SBoyko 3 - 19.04.2004 - 18:10 |
Можно еще конечно перед решением в лоб задачи, вспомнить математику x ^ -(1/2) = 1 / Sqrt(x). По-русски - единицу разделить на корень квадратный из x (при x >= 0) |
mae 4 - 20.04.2004 - 09:54 | 3, а разве в с++ есть оператор ^ ? |
SBoyko 5 - 20.04.2004 - 09:56 | [4] Еще раз читаем свой вопрос и _внимательно_ мой ответ :) |
mae 6 - 20.04.2004 - 10:44 |
5, да, понял. Сенкс. Но это частный случай. А мне б желательно общий. Ведь завтра мне может понадобиться посчитать z=x^y. Спасибо интернетчику хренову - он написал именно то, что мне нужно. |
UE 7 - 20.04.2004 - 11:07 | н-да? а мне всегда казалось, что pow умеет работать только с int... не зря же powf существует?... |
Сергей 8 - 20.04.2004 - 11:32 | [7] Если верить cтандарту C++, это не совсем так :) Работает не только с int, но и с double. Кстати говоря, powf в стандарте не упоминается. |
mae 9 - 20.04.2004 - 11:37 | У меня pow работает со всеми типам - int, float, double, надо будет ещё __int64 попробовать... |
SBoyko 10 - 20.04.2004 - 12:59 | И чтобы окончательно расставить точки над i : http://www.rsdn.ru/article/alg/fastpow.xml |