c mathematical functions
Denna handledning förklarar viktiga C ++ - matematiska funktioner som ingår i rubrikfilen som abs, max, pow, sqrt, etc. med exempel och C ++ - konstanter som M_PI:
C ++ tillhandahåller ett stort antal matematiska funktioner som kan användas direkt i programmet. Att vara en delmängd av C-språk, härleder C ++ de flesta av dessa matematiska funktioner från matematik.h-rubriken på C.
I C ++ ingår de matematiska funktionerna i rubriken .
=> Kontrollera Komplett C ++ GRATIS träningsserie här.
Vad du kommer att lära dig:
Matematiska funktioner i C ++
Tabell över C ++ matematiska funktioner
Nedan följer en lista över de viktiga matematiska funktionerna i C ++ tillsammans med deras beskrivning, prototyp och exempel.
Låt bli | Fungera | Prototyp | Beskrivning | Exempel |
---|---|---|---|---|
6 | stryk | dubbel atan (dubbel x); | Returnerar bågtangens för vinkel x i radianer. ** Bågtangens är den inversa tangenten för solbränna. | dubbel param = 1.0; kosta<< atan (param) * 180,0 / PI; (här PI = 3.142) ** returnerar 47.1239 |
Trigonometriska funktioner | ||||
1 | något | dubbel cos (dubbel x); | Returnerar cosinus för vinkel x i radianer. | kosta<< cos ( 60.0 * PI / 180.0 ); (här PI = 3.142) ** returnerar 0.540302 |
två | utan | dubbel synd (dubbel x); | Returnerar sinus för vinkel x i radianer. | kosta<< sin ( 60.0 * PI / 180.0 ); (här PI = 3.142) ** returnerar 0,841471 |
3 | så | dubbelbrun (dubbel x); | Returnerar tangent för vinkel x i radianer. | kosta<< tan ( 45.0 * PI / 180.0 ); (här PI = 3.142) ** returnerar 0,931596 |
4 | acos | dubbel acos (dubbel x); | Returnerar bågkosinus för vinkel x i radianer. ** Arc cosinus är den inversa cosinusen för cos operation. | dubbel param = 0,5; kosta<< acos (param) * 180,0 / PI; (här PI = 3.142) ** returnerar 62,8319 |
5 | salt | dubbel asin (dubbel x); | Returnerar bågsinus för vinkel x i radianer. ** Arc sinus är den inversa sinusoperationen. | dubbel param = 0,5; kosta<< asin (param) * 180,0 / PI; (här PI = 3.142) ** retur 31.4159 |
Strömfunktioner | ||||
7 | över | dubbel pow (dubbel bas, dubbel exponent); | Återställer basen till höjda exponenten. | kosta<<”2^3 = “<< pow(2,3); ** returnerar 8 |
8 | sqrt | dubbel kvadrat (dubbel x); | Returnerar kvadratrot av x. | kosta<< sqrt(49); ** returnerar 7 |
Avrundnings- och återstående funktioner | ||||
9 | tak | dubbeltak (dubbel x); | Returnerar det minsta heltalsvärdet som inte är mindre än x; Rundar x uppåt. | kosta<< ceil(3.8); ** returnerar 4 |
10 | golv | dubbel våning (dubbel x); | Returnerar större heltal som inte är större än x; Avrundar x nedåt. | kosta<< floor(2.3); ** returnerar 2 |
elva | fmod | dubbel fmod (dubbel siffra, dubbel beteckning); | Returnerar återstoden av flytande punkt av siffran / denom. | kosta<< fmod(5.3,2); ** returnerar 1.3 |
12 | trunc | dubbel trunk (dubbel x); ** ger också variationer för float och long double | Returnerar närmaste integralvärde som inte är större än x. Avrundar x mot noll. | kosta<< trunc(2.3); ** returnerar 2 |
13 | runda | dubbel runda (dubbel x); ** ger också variationer för float och long double | Returnerar integralvärde som är närmast x. | kosta<< round(4.6); ** returnerar 5 |
14 | resten | dubbel återstod (dubbel siffra, dubbel beteckning); ** ger också variationer för float och long double | Returnerar återstående flytande punkt av siffra / denom avrundat till närmaste värde. | kosta<< remainder(18.5 ,4.2); ** returnerar 1.7 |
Minsta, maximala, skillnad och absoluta funktioner | ||||
femton | fmax | dubbel fmax (dubbel x, dubbel y). ** ger också variationer för float och long double. | Returnerar större värde för argumenten x och y. Om ett nummer är NaN returneras det andra. | kosta<< fmax(100.0,1.0); ** returnerar 100 |
16 | fmin | dubbel fmin (dubbel x, dubbel y); ** ger också variationer för float och long double. | Returnerar mindre värde för argumenten x och y. Om ett nummer är NaN returneras det andra. | kosta<< fmin(100.0,1.0); ** returnerar 1 |
17 | fdim | dubbel fdim (dubbel x, dubbel y); ** ger också variationer för float och long double. | Returnerar den positiva skillnaden mellan x och y. Om x> y returnerar x-y; returnerar annars noll. | kosta<< fdim(2.0,1.0); ** returnerar 1 |
18 | fabs | dubbel fabs (dubbel x); | Returnerar det absoluta värdet på x. | kosta<< fabs(3.1416); ** returnerar 3.1416 |
19 | Sektion | dubbel abs (dubbel x); ** ger också variationer för float och long double. | Returnerar det absoluta värdet på x. | kosta<< abs(3.1416); ** returnerar 3.1416 |
Exponentiella och logaritmiska funktioner | ||||
tjugo | exp | dubbel exp (dubbel x); | Returnerar det exponentiella värdet på x, dvs. e x. | kosta<< exp(5.0); ** returnerar 148.413 |
tjugoett | logga | dubbel logg (dubbel x); | Returnerar naturlig logaritm av x. (Till basen e). | kosta<< log(5); ** returnerar 1,60944 |
22 | log10 | dubbel log10 (dubbel x); | Returnerar gemensam logaritm av x (till bas 10). | kosta<< log10(5); ** returnerar 0,69897 |
C ++ - program som visar alla funktioner som diskuterats ovan.
#include #include using namespace std; int main () { int PI = 3.142; cout<< 'cos(60) = ' << cos ( 60.0 * PI / 180.0 )< Produktion:
cos (60) = 0,540302
sin (60) = 0,841471
tan (45) = 0,931596
acos (0,5) = 62,8319
salt (0,5) = 31,4159
kastning (1.0) = 47.1239
2 ^ 3 = 8
sqrt (49) = 7
tak (3.8) = 4
våning (2.3) = 2
fmod (5.3,2) = 1.3
trunc (5.3,2) = 2
runda (4.6) = 5
återstoden (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
log (5) = 1,60944
exp (5.0) = 148.413
log10 (5) = 0,69897

I ovanstående program har vi utfört de matematiska funktionerna som vi tabelliserat ovan tillsammans med deras respektive resultat.
Därefter kommer vi att diskutera några av de viktiga matematiska funktionerna som används i C ++.
Abs => Beräknar det absoluta värdet för ett visst tal.
Sqrt => Används för att hitta kvadratroten för det angivna numret.
Pow => Returnerar resultatet med russinbas till den givna exponenten.
Fmax => Hitta högst två angivna nummer.
Vi kommer att diskutera varje funktion i detalj tillsammans med C ++ - exempel. Vi kommer också att lära oss mer om den matematiska konstanten M_PI som ofta används i kvantitativa program.
C ++ abs
Funktionsprototyp: return_type abs (data_type x);
Funktionsparametrar: x => värde vars absoluta värde ska returneras.
x kan vara av följande typer:
dubbel
flyta
lång dubbel
Returvärde: Returnerar det absoluta värdet på x.
Som parametrar kan returvärdet också vara av följande typer:
dubbel
flyta
lång dubbel
Beskrivning: Funktion abs används för att returnera det absoluta värdet för parametern som skickas till funktionen.
Exempel:
#include #include using namespace std; int main () { cout << 'abs (10.57) = ' << abs (10.57) << '
'; cout << 'abs (-25.63) = ' << abs (-25.63) << '
'; return 0; }
Produktion:

Här har vi använt exempel med ett positivt och negativt tal med abs-funktionen för tydlighetsändamål.
C ++ sqrt
Funktionsprototyp: dubbel kvadrat (dubbel x);
Funktionsparametrar: x => värde vars kvadratrot ska beräknas.
Om x är negativ inträffar domain_error.
Returvärde: Ett dubbelvärde som anger kvadratroten av x.
topprankad gratis programvara för borttagning av skadlig programvara
Om x är negativ inträffar domain_error.
Beskrivning: Sqrt-funktionen tar in numret som en parameter och beräknar deras kvadratrot. Om argumentet är negativt uppstår ett domänfel. När domänfel uppstår ställs den globala variabeln errno in EDOM .
Exempel:
#include #include using namespace std; int main () { double param, result; param = 1024.0; result = sqrt (param); cout<<'Square root of '< Produktion:

I ovanstående program har vi beräknat kvadratroten 1024 och 25 med hjälp av sqrt-funktionen.
C ++ pow
Funktionsprototyp: dubbel pow (dubbel bas, dubbel exponent).
Funktionsparametrar: bas => basvärde.
Exponent => exponentvärde
Returvärde: Det värde som erhålls efter att basen har höjts till exponenten.
Beskrivning: Funktionen pow tar in två argument, dvs. bas och exponent och höjer sedan basen till exponentens kraft.
Om basen om ändlig negativ och exponent är negativ men inte ett heltal, uppstår domänfelet. Vissa implementeringar kan orsaka domänfel när både bas och exponent är noll och om basen är noll och exponenten är negativ.
Om funktionsresultatet är för litet eller för stort för returtypen kan det resultera i ett intervallfel.
Exempel:
#include #include using namespace std; int main () { cout<< '2 ^ 4 = '< Produktion:

Ovanstående program visar användningen av POW-funktionen i C ++. Vi kan se att den beräknar värdet genom att höja ett tal till den angivna effekten.
C ++ max
Funktionsprototyp: dubbel fmax (dubbel x, dubbel y);
Funktionsparametrar: x, y => två värden som ska jämföras för att hitta det maximala.
Returvärde: Returnerar det maximala värdet för de två parametrarna.
Om en av parametrarna är Nan returneras det andra värdet.
Beskrivning: Funktionen fmax tar in två numeriska argument och returnerar maximalt av de två värdena. Bortsett från prototypen som nämns ovan har denna funktion också överbelastning för andra datatyper som float, long double, etc.
Exempel:
#include #include using namespace std; int main () { cout <<'fmax (100.0, 1.0) = ' << fmax(100.0,1.0)< Produktion:

Ovanstående kod visar användningen av fmax-funktionen för att hitta högst två nummer. Vi ser de fall där ett av siffrorna är negativt, och båda siffrorna är negativa.
Matematiska konstanter i C ++
Rubriken på C ++ innehåller också flera matematiska konstanter som kan användas i matematisk och kvantitativ kod.
För att inkludera matematiska konstanter i programmet måste vi använda ett #define-direktiv och ange ett makro “_USE_MATH_DEFINES”. Detta makro ska läggas till i programmet innan vi inkluderar biblioteket.
Detta görs enligt nedan:
#define _USE_MATH_DEFINES #include #include ….C++ Code…..
En av konstanterna som vi använder ofta när vi skriver matematiska och kvantitativa applikationer är PI. Följande program visar användningen av fördefinierad konstant PI i C ++ - programmet.
#define _USE_MATH_DEFINES #include #include using namespace std; int main() { double area_circle, a_circle; int radius=5; double PI = 3.142; //using predefined PI constant area_circle = M_PI * radius * radius; cout<<'Value of M_PI:'< Produktion:

Ovanstående program visar den matematiska konstanten M_PI som finns i. Vi har också tillhandahållit en lokal variabel PI initialiserad till värdet 3.142. Utgången visar cirkelområdet beräknat med M_PI och lokal PI-variabel med samma radievärde.
Även om det inte är mycket skillnad mellan de två beräknade areavärdena är det ofta önskvärt att använda PI som en lokalt definierad variabel eller konstant.
Slutsats
C ++ använder olika matematiska funktioner som abs, fmax, sqrt, POW, etc. samt trigonometriska och logaritmiska funktioner som kan användas för att utveckla kvantitativa program. Vi har sett några av de viktiga funktionerna i denna handledning tillsammans med deras exempel.
Vi har också sett den matematiska konstanten M_PI som definierar värdet av geometrisk konstant PI som kan användas för att beräkna olika formler.
C ++ använder matematiska funktioner genom att inkludera rubrik i programmet. Dessa funktioner är fördefinierade och vi behöver inte definiera dem i vårt program. Vi kan direkt använda dessa funktioner i kod som inturn gör kodning mer effektiv.
=> Läs igenom den omfattande C ++ - utbildningsserien här.
Rekommenderad läsning