Solución:
pow () en la biblioteca cmath. Más info aquí. No te olvides de poner #include<cmath>
en la parte superior del archivo.
std::pow
en el <cmath>
encabezado tiene estas sobrecargas:
pow(float, float);
pow(float, int);
pow(double, double); // taken over from C
pow(double, int);
pow(long double, long double);
pow(long double, int);
Ahora no puedes simplemente hacer
pow(2, N)
siendo N un int, porque no sabe cuál de float
, double
, o long double
versión que debería tomar, y obtendría un error de ambigüedad. Los tres necesitarían una conversión de int a punto flotante, ¡y los tres son igualmente costosos!
Por lo tanto, asegúrese de escribir el primer argumento para que coincida perfectamente con uno de esos tres. Yo suelo usar double
pow(2.0, N)
Algún abogado me caga de nuevo. Yo mismo he caído a menudo en este escollo, así que te lo voy a advertir.
En C ++, el operador “^” es un OR bit a bit. No funciona para elevarse a un poder. El x << n es un desplazamiento a la izquierda del número binario que es lo mismo que multiplicar x por 2 n número de veces y que solo se puede usar cuando se eleva 2 a una potencia. La función POW es una función matemática que funcionará de forma genérica.