logo

Funció d'alimentació en C/C++

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)