cmath library
Megjelenés
(cmath szócikkből átirányítva)
Főnév
cmath library (tsz. cmath libraries)
- (informatika) A cmath (korábban math.h) egy C++ standard könyvtár, amely matematikai függvényeket biztosít, például trigonometriai, exponenciális és logaritmikus számításokhoz. Ezek a függvények általában double típusú számokkal működnek, de léteznek float és long double verziók is.
1. A cmath használata
A <cmath> fejlécet kell beilleszteni:
#include <iostream>
#include <cmath>
A függvényeket std:: névtérrel kell használni, de ha using namespace std;-ot használunk, akkor ez elhagyható.
2. Gyakori függvények és példák
Alapvető matematikai függvények
| Függvény | Leírás | Példa |
|---|---|---|
abs(x) |
x abszolút értéke (egész számokhoz is) | std::abs(-5) → 5 |
fabs(x) |
x abszolút értéke (lebegőpontos) | std::fabs(-5.3) → 5.3 |
ceil(x) |
x felfelé kerekítése | std::ceil(2.3) → 3.0 |
floor(x) |
x lefelé kerekítése | std::floor(2.9) → 2.0 |
round(x) |
x kerekítése a legközelebbi egészre | std::round(2.5) → 3.0 |
trunc(x) |
x egész részének visszaadása | std::trunc(2.9) → 2.0 |
Példa:
#include <iostream>
#include <cmath>
int main() {
double x = -5.7;
std::cout << "abs(x): " << std::abs(x) << std::endl;
std::cout << "ceil(x): " << std::ceil(x) << std::endl;
std::cout << "floor(x): " << std::floor(x) << std::endl;
std::cout << "round(x): " << std::round(x) << std::endl;
return 0;
}
Hatvány és logaritmus függvények
| Függvény | Leírás | Példa |
|---|---|---|
pow(x, y) |
x^y hatványozás | std::pow(2, 3) → 8.0 |
sqrt(x) |
x négyzetgyöke | std::sqrt(25) → 5.0 |
cbrt(x) |
x köbgyöke | std::cbrt(27) → 3.0 |
log(x) |
Természetes alapú logaritmus (ln) | std::log(2.718) → kb. 1.0 |
log10(x) |
10-es alapú logaritmus | std::log10(1000) → 3.0 |
exp(x) |
e^x hatványozás | std::exp(1) → 2.718 |
Példa:
#include <iostream>
#include <cmath>
int main() {
double x = 16.0;
std::cout << "sqrt(x): " << std::sqrt(x) << std::endl;
std::cout << "log(x): " << std::log(x) << std::endl;
std::cout << "pow(x, 0.5): " << std::pow(x, 0.5) << std::endl;
return 0;
}
Trigonometriai függvények
A trigonometriai függvények radiánban dolgoznak!
| Függvény | Leírás | Példa |
|---|---|---|
sin(x) |
szinusz | std::sin(M_PI/2) → 1.0 |
cos(x) |
koszinusz | std::cos(0) → 1.0 |
tan(x) |
tangens | std::tan(M_PI/4) → 1.0 |
asin(x) |
inverz szinusz | std::asin(1) → π/2 |
acos(x) |
inverz koszinusz | std::acos(0) → π/2 |
atan(x) |
inverz tangens | std::atan(1) → π/4 |
atan2(y, x) |
y/x inverz tangense | std::atan2(1, 1) → π/4 |
Példa:
#include <iostream>
#include <cmath>
int main() {
double szog = 45.0;
double radian = szog * M_PI / 180.0;
std::cout << "sin(45°): " << std::sin(radian) << std::endl;
std::cout << "cos(45°): " << std::cos(radian) << std::endl;
std::cout << "tan(45°): " << std::tan(radian) << std::endl;
return 0;
}
Speciális függvények
| Függvény | Leírás | Példa |
|---|---|---|
hypot(x, y) |
Pitagoraszi távolság (sqrt(x² + y²)) | std::hypot(3, 4) → 5.0 |
fmod(x, y) |
x maradéka y-val osztva | std::fmod(7.5, 2.0) → 1.5 |
remainder(x, y) |
Kerekített maradék osztásnál | std::remainder(7.5, 2.0) → -0.5 |
Példa:
#include <iostream>
#include <cmath>
int main() {
double x = 7.5, y = 2.0;
std::cout << "fmod(x, y): " << std::fmod(x, y) << std::endl;
std::cout << "hypot(3, 4): " << std::hypot(3, 4) << std::endl;
return 0;
}
3. Összegzés
- A
<cmath>függvények segítenek matematikai számításokban. - A trigonometriai függvények radiánban dolgoznak, ezért átalakítás szükséges (
M_PI / 180.0szorzó). - A legtöbb függvény
doubleértéket ad vissza, de elérhetőfloatéslong doubleverzió is (std::sin(float),std::sin(long double)). - Speciális függvények is elérhetők, mint
hypot(),fmod()ésremainder().
- cmath library - Szótár.net (en-hu)
- cmath library - Sztaki (en-hu)
- cmath library - Merriam–Webster
- cmath library - Cambridge
- cmath library - WordNet
- cmath library - Яндекс (en-ru)
- cmath library - Google (en-hu)
- cmath library - Wikidata
- cmath library - Wikipédia (angol)