logo

Machtsfunctie in C/C++

Gegeven het grondtal en de exponent van twee getallen, is de C++ of C pow()-functie vindt x verheven tot de macht y, d.w.z. XEn . In principe wordt in C/C++ de exponentwaarde berekend met behulp van de functie pow(). De pow()-functie wordt gebruikt om de macht van een getal in C/C++ te berekenen. Het neemt dubbel als invoer en retourneert dubbel als uitvoer.

Wij moeten gebruiken #erbij betrekken in C/C++ om die pow()-functie in ons C/C++-programma te gebruiken.



Syntaxis van de functie pow().

double pow  (double x, double y);>

pow() Functieparameters

Deze methode heeft slechts twee argumenten nodig:

shell-script uitvoerbaar maken
    x: basiswaarde met drijvende komma y: machtswaarde met drijvende komma

pow() Functie Retourwaarde

  • De machtsfunctie retourneert de drijvende-kommawaarde van x verheven tot de macht y ( XEn ).

Voorbeeld van de pow()-functie

 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;> }>

>

>

Uitvoer

priemgetal in Java
5882.79>

Tijdcomplexiteit: O(logboek(n))

Hulpruimte: O(1)

Werking van de pow()-functie met gehele getallen

De functie pow() neemt ‘double’ als argument en retourneert een ‘double’-waarde. Deze functie werkt niet altijd voor gehele getallen. Een voorbeeld hiervan is pow(5, 2). Wanneer het wordt toegewezen aan een geheel getal, geeft het op sommige compilers 24 als resultaat en werkt het prima voor sommige andere compilers. Maar pow(5, 2) zonder enige toewijzing aan een geheel getal geeft 25 als resultaat.

Een andere manier kan het gebruik van de ronde functie om het aan een geheel getaltype toe te wijzen.

  • Dit komt omdat 52(dat wil zeggen 25) kan worden opgeslagen als 24.9999999 of 25.0000000001 omdat het retourtype dubbel is. Wanneer toegewezen aan int, wordt 25.0000000001 25, maar 24.9999999 geeft uitvoer 24.
  • Om dit te ondervangen en het nauwkeurige antwoord in geheel getalformaat uit te voeren, kunnen we 1e-9 of 0,000000001 aan het resultaat toevoegen en het typen naar int (int)(pow(5, 2)+1e-9) geeft bijvoorbeeld het juiste antwoord(25, in het bovenstaande voorbeeld), ongeacht de compiler.

Voorbeeld 1: C/C++ Programma om het gedrag van de pow()-functie met gehele getallen te demonstreren.

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;> }>

tekenreeks naar Java-teken

>

>

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;> }>

>

gimp achtergrond verwijderen

>

Uitvoer

25 25>

Tijdcomplexiteit: O(logboek(n))
Hulpruimte: O(1)