c mathematical functions
Deze tutorial legt belangrijke C ++ wiskundige functies uit die zijn opgenomen in het headerbestand zoals abs, max, pow, sqrt, etc. met voorbeelden en C ++ constanten zoals M_PI:
C ++ biedt een groot aantal wiskundige functies die direct in het programma kunnen worden gebruikt. Omdat C ++ een subset is van de C-taal, ontleent C ++ de meeste van deze wiskundige functies aan de math.h-kop van C.
In C ++ zijn de wiskundige functies in de koptekst opgenomen
Bekijk hier de complete C ++ GRATIS trainingsreeks.
selenium interviewvragen voor 8 jaar ervaring
Wat je leert:
Wiskundige functies in C ++
Tabel met wiskundige functies van C ++
Hieronder vindt u een lijst met de belangrijke wiskundige functies in C ++, samen met hun beschrijving, prototype en voorbeeld.
Niet doen | Functie | Voorlopig ontwerp | Omschrijving | Voorbeeld |
---|---|---|---|---|
6 | kloppen | dubbele atan (dubbele x); | Geeft als resultaat de boogtangens van hoek x in radialen. ** Arc tangens is de inverse tangens van tan-bewerking. | dubbele parameter = 1,0; kosten<< atan (param) * 180,0 / PI; (hier PI = 3.142) ** geeft 47.1239 terug |
Goniometrische functies | ||||
1 | iets | dubbele cos (dubbele x); | Retourneert de cosinus van hoek x in radialen. | kosten<< cos ( 60.0 * PI / 180.0 ); (hier PI = 3.142) ** geeft 0,540302 terug |
twee | zonder | dubbele zonde (dubbele x); | Geeft als resultaat de sinus van hoek x in radialen. | kosten<< sin ( 60.0 * PI / 180.0 ); (hier PI = 3.142) ** geeft 0,841471 terug |
3 | zo | dubbelbruin (dubbel x); | Geeft als resultaat de tangens van hoek x in radialen. | kosten<< tan ( 45.0 * PI / 180.0 ); (hier PI = 3.142) ** geeft als resultaat 0.931596 |
4 | acos | dubbele acos (dubbele x); | Geeft als resultaat de cosinus van de boog van hoek x in radialen. ** Arc cosinus is de inverse cosinus van cos-werking. | dubbele param = 0,5; kosten<< acos (param) * 180,0 / PI; (hier PI = 3.142) ** geeft 62,8319 terug |
5 | zout | dubbele asin (dubbele x); | Geeft als resultaat de boogsinus van hoek x in radialen. ** Arc-sinus is de inverse sinus van sin-werking. | dubbele param = 0,5; kosten<< asin (param) * 180,0 / PI; (hier PI = 3.142) ** retourneer 31.4159 |
Krachtfuncties | ||||
7 | over- | dubbele pow (dubbele basis, dubbele exponent); | Retourneert de basis verheven tot machtsexponent. | kosten<<”2^3 = “<< pow(2,3); ** geeft 8 terug |
8 | sqrt | dubbele sqrt (dubbele x); | Retourneert de vierkantswortel van x. | kosten<< sqrt(49); ** geeft 7 terug |
Afronding en overige functies | ||||
9 | plafond | dubbel plafond (dubbel x); | Retourneert de kleinste gehele waarde die niet kleiner is dan x; Rondt x naar boven af. | kosten<< ceil(3.8); ** retourneert 4 |
10 | verdieping | dubbele bodem (dubbele x); | Retourneert een grotere gehele waarde die niet groter is dan x; Rondt x naar beneden af. | kosten<< floor(2.3); ** geeft 2 terug |
elf | fmod | dubbele fmod (dubbel getal, dubbele waarde); | Retourneert de rest van een getal / denom met een drijvende komma. | kosten<< fmod(5.3,2); ** geeft 1.3 terug |
12 | afkappen | dubbele trunc (dubbele x); ** biedt ook variaties voor float en long double | Retourneert de dichtstbijzijnde integrale waarde die niet groter is dan x. Rondt x af naar nul. | kosten<< trunc(2.3); ** geeft 2 terug |
13 | ronde | dubbel rond (dubbel x); ** biedt ook variaties voor float en long double | Retourneert een integrale waarde die het dichtst bij x ligt. | kosten<< round(4.6); ** geeft 5 terug |
14 | rest | dubbele rest (dubbel getal, dubbele waarde); ** biedt ook variaties voor float en long double | Geeft als resultaat een drijvende-komma-rest van een getal / denom, afgerond op de dichtstbijzijnde waarde. | kosten<< remainder(18.5 ,4.2); ** geeft 1.7 terug |
Minimale, maximale, verschil- en absolute functies | ||||
vijftien | fmax | dubbele fmax (dubbele x, dubbele y). ** biedt ook variaties voor float en long double. | Retourneert een grotere waarde van de argumenten x en y. Als het ene getal NaN is, wordt het andere geretourneerd. | kosten<< fmax(100.0,1.0); ** geeft 100 terug |
16 | fmin | dubbele fmin (dubbele x, dubbele y); ** biedt ook variaties voor float en long double. | Retourneert een kleinere waarde van de argumenten x en y. Als het ene getal NaN is, wordt het andere geretourneerd. | kosten<< fmin(100.0,1.0); ** geeft 1 terug |
17 | fdim | dubbele fdim (dubbele x, dubbele y); ** biedt ook variaties voor float en long double. | Retourneert het positieve verschil tussen x en y. Als x> y, geeft x-y terug; retourneert anders nul. | kosten<< fdim(2.0,1.0); ** geeft 1 terug |
18 | fabs | dubbele fabs (dubbele x); | Retourneert de absolute waarde van x. | kosten<< fabs(3.1416); ** geeft 3.1416 terug |
19 | Sectie | dubbele buikspieren (dubbele x); ** biedt ook variaties voor float en long double. | Retourneert de absolute waarde van x. | kosten<< abs(3.1416); ** geeft 3.1416 terug |
Exponentiële en logaritmische functies | ||||
twintig | exp | dubbele exp (dubbele x); | Retourneert de exponentiële waarde van x, d.w.z. e x. | kosten<< exp(5.0); ** geeft 148.413 terug |
eenentwintig | logboek | dubbele log (dubbele x); | Retourneert de natuurlijke logaritme van x. (Naar de grondtal e). | kosten<< log(5); ** geeft 1,60944 terug |
22 | log10 | dubbele log10 (dubbele x); | Retourneert de algemene logaritme van x (tot het grondtal 10). | kosten<< log10(5); ** geeft als resultaat 0,69897 |
C ++ programma dat alle hierboven besproken functies demonstreert.
Uitgang:
cos (60) = 0,540302
sin (60) = 0,841471
tan (45) = 0,931596
acos (0,5) = 62,8319
zout (0,5) = 31,4159
gooien (1.0) = 47.1239
2 ^ 3 = 8
sqrt (49) = 7
ceil (3.8) = 4
vloer (2.3) = 2
fmod (5.3,2) = 1.3
afkapping (5.3,2) = 2
rond (4,6) = 5
rest (18.5, 4.2) = 1.7
fmax (100,0,1,0) = 100
fmin (100,0,1,0) = 1
fdim (2.0,1.0) = 1
fabs (3.1416) = 3.1416
abs (3,1416) = 3,1416
logboek (5) = 1.60944
exp (5,0) = 148,413
log10 (5) = 0,69897
In het bovenstaande programma hebben we de wiskundige functies uitgevoerd die we hierboven in tabelvorm hebben weergegeven, samen met hun respectieve resultaten.
Vervolgens bespreken we enkele van de belangrijke wiskundige functies die in C ++ worden gebruikt.
Abs => Berekent de absolute waarde van een bepaald getal.
Sqrt => Wordt gebruikt om de vierkantswortel van het opgegeven getal te vinden.
Pow => Retourneert het resultaat per rozijnenbasis naar de opgegeven exponent.
Fmax => Vindt het maximum van twee opgegeven nummers.
We zullen elke functie in detail bespreken, samen met C ++ - voorbeelden. We zullen ook meer te weten komen over de wiskundige constante M_PI die vaak wordt gebruikt in kwantitatieve programma's.
C ++ abs
Functieprototype: return_type abs (data_type x);
Functieparameters: x => waarde waarvan de absolute waarde moet worden geretourneerd.
x kan van de volgende typen zijn:
dubbele
vlotter
lang dubbel
Winstwaarde: Retourneert de absolute waarde van x.
Als parameters kan de retourwaarde ook van de volgende typen zijn:
dubbele
vlotter
lang dubbel
Omschrijving: Functie abs wordt gebruikt om de absolute waarde van de parameter die aan de functie is doorgegeven, te retourneren.
Voorbeeld:
Uitgang:
Hier hebben we voor de duidelijkheid voorbeelden gebruikt met een positief en negatief getal met de abs-functie.
C ++ sqrt
Functieprototype: dubbele sqrt (dubbele x);
Functieparameters: x => waarde waarvan de vierkantswortel moet worden berekend.
Als x negatief is, treedt domain_error op.
Winstwaarde: Een dubbele waarde die de vierkantswortel van x aangeeft.
Als x negatief is, treedt domain_error op.
Omschrijving: De sqrt-functie neemt het getal als parameter op en berekent de wortel van hun vierkanten. Als het argument negatief is, treedt er een domeinfout op. Als er een domeinfout optreedt, wordt de globale variabele errno ingesteld EDOM
Voorbeeld:
Uitgang:
hoe .jar te openen met java
In het bovenstaande programma hebben we de vierkantswortel van 1024 en 25 berekend met behulp van de sqrt-functie.
C ++ pow
Functieprototype: dubbele pow (dubbele basis, dubbele exponent).
Functieparameters: base => basiswaarde.
Exponent => exponentwaarde
Winstwaarde: De waarde die wordt verkregen na het verhogen van de basis naar de exponent.
Omschrijving: De functie pow neemt twee argumenten op, namelijk grondtal en exponent, en verhoogt vervolgens de grondslag tot de macht van de exponent.
Als de basis als eindig negatief en exponent negatief is maar geen geheel getal, treedt de domeinfout op. Bepaalde implementaties kunnen domeinfouten veroorzaken als zowel basis als exponent nul zijn en als de basis nul is en exponent negatief is.
Als het functieresultaat te klein of te groot is voor het retourtype, kan dit resulteren in een bereikfout.
Voorbeeld:
Uitgang:
Het bovenstaande programma demonstreert het gebruik van de POW-functie in C ++. We kunnen zien dat het de waarde berekent door een getal te verhogen tot het opgegeven vermogen.
C ++ max
Functieprototype: dubbele fmax (dubbele x, dubbele y);
Functieparameters: x, y => twee waarden die moeten worden vergeleken om het maximum te vinden.
Winstwaarde: Retourneert de maximale waarde van de twee parameters.
Als een van de parameters Nan is, wordt de andere waarde geretourneerd.
Omschrijving: De functie fmax neemt twee numerieke argumenten op en retourneert het maximum van de twee waarden. Afgezien van het hierboven genoemde prototype, heeft deze functie ook overbelastingen voor andere gegevenstypen zoals float, long double, enz.
Voorbeeld:
Uitgang:
gratis e-mailaccountproviders in de VS.
De bovenstaande code toont het gebruik van de fmax-functie om het maximum van twee getallen te vinden. We zien de gevallen waarin een van de getallen negatief is en beide getallen negatief.
Wiskundige constanten in C ++
De header van C ++ bevat ook verschillende wiskundige constanten die kunnen worden gebruikt in wiskundige en kwantitatieve code.
Om wiskundige constanten in het programma op te nemen, moeten we een #define-richtlijn gebruiken en een macro “_USE_MATH_DEFINES” specificeren. Deze macro moet aan het programma worden toegevoegd voordat we de bibliotheek opnemen.
Dit wordt gedaan zoals hieronder weergegeven:
Een van de constanten die we vaak gebruiken bij het schrijven van wiskundige en kwantitatieve toepassingen is PI. Het volgende programma toont het gebruik van voorgedefinieerde constante PI in het C ++ - programma.
Uitgang:
Het bovenstaande programma demonstreert de wiskundige constante M_PI die beschikbaar is in. We hebben ook een lokale variabele PI geleverd die is geïnitialiseerd op de waarde 3.142. De uitvoer toont het gebied van de cirkel berekend met behulp van M_PI en de lokale PI-variabele met dezelfde straalwaarde.
Hoewel er niet veel verschil is tussen de twee berekende oppervlaktewaarden, is het vaak wenselijk om PI te gebruiken als een lokaal gedefinieerde variabele of constante.
Gevolgtrekking
C ++ gebruikt verschillende wiskundige functies zoals abs, fmax, sqrt, POW, enz., Evenals trigonometrische en logaritmische functies die kunnen worden gebruikt om kwantitatieve programma's te ontwikkelen. We hebben enkele van de belangrijke functies in deze tutorial gezien, samen met hun voorbeelden.
We hebben ook de wiskundige constante M_PI gezien die de waarde van de geometrische constante PI definieert die kan worden gebruikt om verschillende formules te berekenen.
C ++ gebruikt wiskundige functies door koptekst in het programma op te nemen. Deze functies zijn voorgedefinieerd en we hoeven ze niet in ons programma te definiëren. We kunnen deze functies direct in code gebruiken, waardoor codering efficiënter wordt.
Lees hier de uitgebreide serie C ++ Training Tutorial.