Donats dos nombres base i exponent, el C++ o C funció pow(). troba x elevat a la potència de y, és a dir. xi . Bàsicament en C/C++, el valor de l'exponent es calcula mitjançant la funció pow(). El funció pow(). s'utilitza per calcular la potència d'un nombre en C/C++. Pren el doble com a entrada i retorna el doble com a sortida.
Hem d'utilitzar #incloure en C/C++ per utilitzar aquesta funció pow() al nostre programa C/C++.
Sintaxi de la funció pow().
double pow (double x, double y);>
Paràmetres de la funció pow().
Aquest mètode només pren dos arguments:
- x: valor base de coma flotant y: valor de potència de coma flotant
Pow() Valor de retorn de la funció
- La funció de potència retorna el valor de coma flotant de x elevat a la potència y ( xi ).
Exemple de funció 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;> }> |
>
Sree Ramanujan
>
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;> }> |
>
>Sortida
5882.79>
Complexitat temporal: O(log(n))
Espai auxiliar: O(1)
Funcionament de la funció pow() amb nombres enters
La funció pow() pren 'double' com a argument i retorna un valor 'doble'. Aquesta funció no sempre funciona per a nombres enters. Un d'aquests exemples és pow(5, 2). Quan s'assigna a un nombre enter, genera 24 en alguns compiladors i funciona bé per a altres compiladors. Però pow(5, 2) sense cap assignació a un enter dóna 25.
Una altra manera es pot utilitzar rodó funció per assignar-lo a algun tipus d'enter.
- Això és perquè 52(és a dir, 25) es pot emmagatzemar com a 24.9999999 o 25.0000000001 perquè el tipus de retorn és doble. Quan s'assigna a int, 25,0000000001 es converteix en 25, però 24,9999999 donarà la sortida 24.
- Per superar-ho i produir la resposta precisa en format enter, podem afegir 1e-9 o 0,000000001 al resultat i escriure-lo a int p. ex. (int)(pow(5, 2)+1e-9) donarà la resposta correcta (25, a l'exemple anterior), independentment del compilador.
Exemple 1: Programa C/C++ per demostrar el comportament de la funció pow() amb nombres enters.
C++
// 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;> }> |
>
>Sortida
25 25>
Complexitat temporal: O(log(n))
Espai auxiliar: O(1)