math.h¶
概览¶
math.h 提供了一系列数学计算相关的函数, 在某些版本的 GCC 中, 需要在链接时指定 libm 才能使用:
gcc test_math.c -lm
math.h 中的函数传入的参数和返回值都是 double
类型的.
宏¶
-
HUGE_VAL
¶ 用来表示一个无法用浮点数表示的数, 可以认为代表 “无穷大”
当数值超出浮点数范围时, errno 被设为 ERANGE, 并返回
HUGE_VAL
或- HUGE_VAL
.
函数¶
三角函数¶
-
double
acos
(double)¶ 返回: 反余弦 \(\arccos\), 弧度制
-
double
asin
(double)¶ 返回: 反正弦 \(\arcsin\), 弧度制
-
double
atan
(double)¶ 返回: 反正切 \(\arctan\), 弧度制
-
double
atan2
(double y, double x)¶ 返回: 点 (x, y) 对应的角度, 弧度制
-
double
sin
(double)¶ 返回: 正弦 \(\sin\), 弧度制
-
double
cos
(double)¶ 返回: 余弦 \(\cos\), 弧度制
-
double
tan
(double)¶ 返回: 正切 \(\tan\), 弧度制
双曲函数¶
-
double
cosh
(double)¶ 返回: 双曲余弦 \(\cosh\)
-
double
sinh
(double)¶ 返回: 双曲正弦 \(\sinh\)
-
double
tanh
(double)¶ 返回: 双曲正切 \(\tanh\)
指数对数¶
-
double
exp
(double x)¶ 返回: 指数 \(e^x\)
-
double
frexp
(double x, int *n)¶ 分解浮点数 \(x = a \times 2^n\)
返回值为 \(a\), 将指数存入整数指针
n
所指的内存.
-
double
ldexp
(double x, int n)¶ 返回: \(x \times 2^n\)
-
double
log
(double x)¶ 返回: 自然对数 \(\ln x\) (基数为 \(e\))
-
double
log10
(double x)¶ 返回: 常用对数 \(\log x\), (基数为 10)
-
double
pow
(double x, double y)¶ 返回: \(x^y\)
其他¶
-
double
sqrt
(double x)¶ 平方根.
返回: \(\sqrt{x}\)
-
double
fmod
(double x, double *a)¶ 分解浮点数为整数与小数部分 \(x = a + b\)
a
为整数部分b
为小数部分
小数部分被返回, 整数部分通过指针赋值.
返回: b
-
double
modf
(double x, double y)¶ 返回 \(x / y\) 的余数.
-
double
ceil
(double x)¶ 向上取整
ceil(123.9) == 124.0; ceil(123.1) == 124.0; ceil(122.9) == 123.0;
-
double
fabs
(double x)¶ 绝对值
返回: \(|x|\)