Я читал, что cmath
вычисляет pow(a,b)
, выполняя exp(b*log(a))
. Это не должно использоваться, когда b
является целым числом, так как это сильно замедляет вычисления. Какие есть альтернативы, когда
- вычисление множества последовательных
pow()
с одной и той же константойa
- заранее известно, что
b
определенно будет целым числом?
Я ищу быстрые альтернативы, которые эффективны в этих конкретных сценариях.
pow
. В некоторых реализациях он довольно хорошо оптимизирован. - person Basile Starynkevitch   schedule 11.11.2014b
числомdouble
с целым числом илиb
int
? 2) Какого типа должен быть результат:double
,int
, `unsigned long long и т. Д.? - person chux - Reinstate Monica   schedule 11.11.2014a
не является степенью 2 @ legends2k c ++ 11 @chuxb
isint
, и результат используется для выполнения дальнейших вычислений сdouble
s - person   schedule 11.11.2014