math.h é um arquivo cabeçalho que fornece protótipos para funções, macros e definição de tipos da biblioteca padrão da linguagem de programação C para funções matemáticas básicas[1][2]. São disponibilizadas, por exemplo, funções trigonométricas como o cosseno cos
que opera com ângulos medidos em radianos[3], função para cálculo de raiz quadrada sqrtf
desde que o resultado seja um número real[4], logaritmo com base 2 log2
[5], entre outras.
Funções pré-C99
É importante lembrar que as funções que envolvem ângulos devem receber valores em radianos e não em graus.
Nome |
Descrição
|
acos |
arco-coseno
|
asin |
arco-seno
|
atan |
arco-tangente
|
atan2 |
arco-tangente (círculo cheio)
|
ceil |
Arredonda para cima
|
cos |
co-seno
|
cosh |
co-seno hiperbólico
|
exp |
exponencial
|
fabs |
valor absoluto (módulo de)
|
floor |
Arredonda para baixo
|
fmod |
resto de uma divisão
|
frexp |
fracção norm./parte exp
|
ldexp |
inverso de frexp
|
log |
logaritmo natural
|
log10 |
logaritmo base 10
|
modf(x,p) |
retorna a parte fraccionária de x e guarda a parte inteira para onde o apontador p aponta
|
pow(x,y) |
retorna o resultado de x elevado a y
|
sin |
seno
|
sinh |
seno hiperbólico
|
sqrt |
raiz quadrada
|
tan |
tangente
|
tanh |
tangente hiperbólica
|
Funções C99
Nome |
Descrição
|
acosh |
arco-coseno hiperbólico
|
asinh |
arco-seno hiperbólico
|
atanh |
arco-tangente hiperbólica
|
cbrt |
raiz cúbica
|
copysign(x,y) |
retorna o valor de x com o sinal de y
|
erf |
função erro
|
erfc |
função erro complementar
|
exp2(x) |
calcula 2 elevado à x, 2x
|
expm1(x) |
subtrai da exponenciação x, ex − 1
|
fdim(x,y) |
diferença positiva entre x e y, fmax(x−y, 0)
|
fma(x,y,z) |
multiplica e soma, (x * y) + z
|
fmax(x,y) |
maior valor de x e y
|
fmin(x,y) |
menor valor de x e y
|
hypot(x,y) |
hipotenusa, sqrt(x2 + y2)
|
ilogb |
o expoente de uma dízima, convertido num int
|
lgamma |
logaritmo natural do valor absoluto da função gamma
|
llrint |
arredonda para inteiro (retorna long long ) usando o modo de arredondamento currente
|
lrint |
arredonda para inteiro (retorna long ) usando o modo de arredondamento currente
|
llround |
arredonda para inteiro (retorna long long )
|
lround |
arredonda para inteiro (retorna long )
|
log1p(x) |
logaritmo natural de 1 + x
|
log2 |
logaritmo binário
|
logb |
extrai o expoente da dízima infinita não periódica
|
nan(s) |
retorna NaN, possivelmente usando um argumento "string"
|
nearbyint |
arredonda uma dízima para o inteiro mais próximo
|
nextafter(x,y) |
retorna o próximo valor representável depois de x (towards y)
|
nexttoward(x,y) |
o mesmo que nextafter , excepto que y é sempre um long double
|
remainder(x,y) |
calcula o resto como exigido pelo IEC 60559
|
remquo(x,y,p) |
o mesmo que remainder , mas guarda o quociente (como int ) no alvo do apontador p
|
rint |
arredonda para inteiro (retorna double ) usando o modo de arredondamento currente
|
round |
arredonda para inteiro (retorna double ), arredonda casa mais distante de zero
|
scalbln(x,n) |
x * FLT_RADIX n (n é long )
|
scalbn(x,n) |
x * FLT_RADIX n (n é int )
|
tgamma |
função gamma
|
trunc |
trunca uma dízima
|
Extensões XSI
Funções extra devem ser avaliadas como X/Open System Interfaces Extensions. Isto não está presente em nenhum padrão C ANSI ou ISO.
Nome |
Descrição
|
j0(x) |
Bessel function of x of the first kind of order 0
|
j1(x) |
Bessel function of x of the first kind of order 1
|
jn(n,x) |
Bessel function of x of the first kind of order n
|
scalb(x,y) |
x * FLT_RADIX y (x and y are double s)
|
y0(x) |
Bessel function of x of the second kind of order 0
|
y1(x) |
Bessel function of x of the second kind of order 1
|
yn(n,x) |
Bessel function of x of the second kind of order n
|
As funções conversoras double
-para-string ecvt
, fcvt
e gcvt
têm sido preteridas em favor de sprintf
.
Referências
Ligações externas