Dados dos números base y exponente, el C++ o C función power() encuentra x elevado a la potencia de y, es decir Xy . Básicamente, en C/C++, el valor del exponente se calcula usando la función pow(). El función power() se utiliza para calcular la potencia de un número en C/C++. Toma el doble como entrada y devuelve el doble como salida.
tenemos que usar #incluir en C/C++ para usar esa función pow() en nuestro programa C/C++.
Sintaxis de la función pow()
double pow (double x, double y);>
Parámetros de la función pow()
Este método toma sólo dos argumentos:
- x: valor base de coma flotante y: valor de potencia de coma flotante
Valor de retorno de la función pow()
- La función de potencia devuelve el valor de punto flotante de x elevado a la potencia y ( Xy ).
Ejemplo de función pow()
Input: 2.0, 5.0 Output: 32.00 Explanation: pow(2.0, 5.0) executes 2.0 raised to the power 5.0, which equals 32 Input: 5.0, 2.0 Output: 25.00 Explanation: pow(5.0, 2.0) executes 5.0 raised to the power 2.0, which equals 25>
C
// C program to illustrate> // power function> #include> #include> int> main()> {> > double> x = 6.1, y = 4.8;> > // Storing the answer in result.> > double> result => pow> (x, y);> > printf> (> '%.2lf'> , result);> > return> 0;> }> |
>
>
C++
// C++ program to illustrate> // power function> #include> using> namespace> std;> int> main()> {> > double> x = 6.1, y = 4.8;> > // Storing the answer in result.> > double> result => pow> (x, y);> > // printing the result upto 2> > // decimal place> > cout << fixed << setprecision(2) << result << endl;> > return> 0;> }> |
>
>Producción
5882.79>
Complejidad del tiempo: O(log(n))
Espacio Auxiliar: O(1)
Funcionamiento de la función pow() con números enteros
La función pow() toma 'doble' como argumento y devuelve un valor 'doble'. Esta función no siempre funciona para números enteros. Un ejemplo de ello es pow(5, 2). Cuando se asigna a un número entero, genera 24 en algunos compiladores y funciona bien para otros compiladores. Pero pow(5, 2) sin ninguna asignación a un número entero genera 25.
Otra forma puede ser usar el redondo función para asignarlo a algún tipo de número entero.
- Esto se debe a que 52(es decir, 25) podría almacenarse como 24,9999999 o 25,0000000001 porque el tipo de retorno es doble. Cuando se asigna a int, 25.0000000001 se convierte en 25, pero 24.9999999 dará como resultado 24.
- Para superar esto y generar la respuesta precisa en formato de número entero, podemos agregar 1e-9 o 0.000000001 al resultado y encasillarlo en En t por ejemplo, (int)(pow(5, 2)+1e-9) dará la respuesta correcta (25, en el ejemplo anterior), independientemente del compilador.
Ejemplo 1: Programa C/C++ para demostrar el comportamiento de la función pow() con números enteros.
C++
CSS centrando una imagen
// C++ program to illustrate> // working with integers in> // power function> #include> using> namespace> std;> int> main()> {> > int> a, b;> > // Using typecasting for> > // integer result> > a = (> int> )(> pow> (5, 2) + 0.5);> > b = round(> pow> (5,2));> > cout << a << endl << b ;> > return> 0;> }> |
>
>
C
// C program to illustrate> // working with integers in> // power function> #include> #include> int> main()> {> > int> a, b;> > // Using typecasting for> > // integer result> > a = (> int> )(> pow> (5, 2) + 1e-9);> > b = round(> pow> (5,2));> > printf> (> '%d
%d'> , a, b);> > return> 0;> }> |
>
>Producción
25 25>
Complejidad del tiempo: O(log(n))
Espacio Auxiliar: O(1)