math.h je hlavičkový soubor standardní knihovny programovacího jazyka C navržený k provádění jednoduchých matematických operací. Většina funkcí zahrnuje použití čísel s pohyblivou řádovou čárkou . C++ také implementuje tyto funkce pro kompatibilitu a všechny jsou obsaženy v hlavičkovém souboru cmath.
Všechny tyto funkce akceptujeme, doublepokud není uvedeno jinak. Pro práci s typy floata long double, se používají funkce s příponami fa , lresp. Všechny funkce, které berou nebo vracejí úhel, pracují v radiánech .
název | Popis |
---|---|
abs | Vrátí absolutní hodnotu celého čísla |
acos | arckosin |
asin | arcsinus |
atan | oblouková tečna |
atan2 | oblouková tečna se dvěma parametry |
ceil | zaokrouhlení nahoru na nejbližší celé číslo |
cos | kosinus |
cosh | hyperbolický kosinus |
exp | výpočet exponentu |
fabs | absolutní hodnota ( čísla s pohyblivou řádovou čárkou ) |
floor | zaokrouhlení dolů na nejbližší nižší celé číslo |
fmod | výpočet zbytku dělení celým číslem pro čísla s plovoucí desetinnou čárkou |
frexp | rozdělí číslo s pohyblivou řádovou čárkou na mantisu a exponent . |
ldexp | násobení čísla s plovoucí desetinnou čárkou mocninou celého čísla dvě |
log | přirozený logaritmus |
log10 | základ 10 logaritmus |
modf(x,p) | extrahuje celé číslo a zlomkové části (podmíněné znaménkem) z čísla s plovoucí desetinnou čárkou |
pow(x,y) | výsledek zvýšení x na mocninu y , x y |
sin | sinus |
sinh | hyperbolický sinus |
sqrt | Odmocnina |
tan | tečna |
tanh | hyperbolická tečna |
název | Popis |
---|---|
acosh | hyperbolický arekosin |
asinh | hyperbolické oblasti |
atanh | hyperbolická oblast tečna |
cbrt | třetí odmocnina |
copysign(x,y) | vrátí hodnotu, jejíž absolutní hodnota je x , ale jejíž znaménko se shoduje se znaménkem y |
erf | chybová funkce |
erfc | volitelná chybová funkce |
exp2(x) | hodnota 2 zvýšena na x mocnina , 2 x |
expm1(x) | hodnota funkce e x − 1 |
fdim(x,y) | výpočet kladného rozdílu mezi x a y , fmax( x − y , 0) |
fma(x,y,z) | funkční hodnota ( x * y ) + z (viz FMA ) |
fmax(x,y) | největší hodnota mezi x a y |
fmin(x,y) | nejmenší hodnota mezi x a y |
hypot(x,y) | přepona , sqrt( x ² + y ²) |
ilogb | exponent čísla s pohyblivou řádovou čárkou převedený naint |
lgamma | přirozený logaritmus absolutní hodnoty funkce gama |
llrint | zaokrouhlit na nejbližší celé číslo (vrací long long) |
lrint | zaokrouhlit na nejbližší celé číslo (vrací long) |
llround | zaokrouhlit na nejbližší celé číslo ve směru od nuly (vrátí long long) |
lround | zaokrouhlit na nejbližší celé číslo ve směru od nuly (vrátí long) |
log1p(x) | přirozený logaritmus 1 + x |
log2 | základ 2 logaritmus |
logb | celá část logaritmu x k základu 2 |
nan(s) | vrátí nečíselnou hodnotu 'Není číslo' |
nearbyint | zaokrouhlení argumentu na celočíselnou hodnotu ve formátu s plovoucí desetinnou čárkou |
nextafter(x,y) | další nejbližší reprezentovatelný pro x (směrem k y ) |
nexttoward(x,y) | stejné jako nextafter, ale y je typulong double |
remainder(x,y) | vypočítá zbytek dělení podle IEC 60559 |
remquo(x,y,p) | stejné jako remainder, ale uloží koeficient na ukazatel p (jako int) |
rint | round to integer (vrací int) s chybou, inexactpokud se výsledek liší od argumentu. |
round | zaokrouhlit na celé číslo (vrací double) |
scalbln(x,n) | x * FLT_RADIXn ( n je long) |
scalbn(x,n) | x * FLT_RADIXn ( n je int) |
tgamma | funkce gama |
trunc | vyřazení zlomkové části |
Tyto funkce nejsou popsány v normách ANSI nebo ISO C, ale mohou být v systémech přítomny jako rozšíření X/Open .
název | Popis |
---|---|
j0(x) | hodnota Besselových funkcí prvního druhu řádů 0 pro argument x |
j1(x) | hodnota Besselových funkcí prvního druhu řádů 1 pro argument x |
jn(n,x) | hodnota Besselových funkcí prvního druhu n |
scalb(x,y) | x * FLT_RADIXy ( typ x a ydouble ) |
y0(x) | hodnota Besselových funkcí druhého druhu řádů 0 pro argument x |
y1(x) | hodnota Besselových funkcí druhého druhu řádů 1 pro argument x |
yn(n,x) | hodnota Besselových funkcí druhého druhu n . řádu |
Používání konverzních funkcí -string je doublezastaralé ecvtve prospěch . fcvtgcvtsprintf
Pod Linuxem a FreeBSD jsou matematické funkce (deklarované v math.h) uloženy samostatně v matematické knihovně libm. Pokud je tedy použita některá z těchto instrukcí, musí být tato volba předána linkeru při vytváření -lm.
Existuje několik implementací, libmvčetně: