★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/9804515.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
常用数学函数
1、 三角函数
1 double sin (double);//正弦 2 double cos (double);//余弦 3 double tan (double);//正切
2 、反三角函数
1 double asin (double); //结果介于[-PI/2, PI/2] 2 double acos (double); //结果介于[0, PI] 3 double atan (double); //反正切(主值), 结果介于[-PI/2, PI/2] 4 double atan2 (double, double);// 反正切(整圆值), 结果介于[-PI, PI]
3 、双曲三角函数
1 double sinh (double); 2 double cosh (double); 3 double tanh (double);
4 、指数与对数
1 double exp (double);//求取自然数e的幂 2 double sqrt (double);//开平方 3 double log (double); //以e为底的对数 4 double log10 (double);//以10为底的对数 5 double pow(double x, double y);//计算以x为底数的y次幂 6 float powf(float x, float y); //功能与pow一致,只是输入与输出皆为浮点数
5 、取整
1 double ceil (double); //向上取整 2 double floor (double); //向下取整
6 、绝对值
1 double fabs (double);//求绝对值 2 double cabs(struct complex znum) ;//求复数的绝对值
7 、标准化浮点数
1 double frexp (double f, int *p);//标准化浮点数,f = x * 2^p,已知f求x,p( x介于[0.5, 1]) 2 double ldexp (double x, int p);// 与frexp相反, 已知x, p求f
8 、取整与取余
1 double modf (double, double*); //将参数的整数部分通过指针回传, 返回小数部分 2 double fmod (double, double); //返回两参数相除的余数
9 、其他
1 double hypot(double x, double y);//已知直角三角形两个直角边长度,求斜边长度 2 double ldexp(double x, int exponent);//计算x*(2的exponent次幂) 3 double poly(double x, int degree, double coeffs [] );//计算多项式 4 nt matherr(struct exception *e);//数学错误计算处理程序
名称
数学 - 数学库函数
大纲
#include <math.h>
说明
头文件math.h中提供函数原型和宏工作的工作
使用C99浮点值。每个math.h函数都有三种变体:single,double和扩展精度。单精度和双精度变体可在此上运行
IEEE-754单精度和双精度值,对应于C.类型分别为float和double。在Intel Mac上,C型long double对应80位IEEE-754 双倍扩展精度。
在PowerPC的Mac中,C型长 双相当于对应默认普通双精度sponds,但128位nonIEEE -754 nonIEEE-754IEEE-754 long double类型
也可通过编译器标志获得-mlong-double-128和链接器标志-lmx。浮点格式的细节可以通过“man float”找到。需要在大型集上重复执行
相同计算的用户数据可能会找到矢量数学库(由...组成)vMathLib和vForce)为他们的需求提供了更好的性能顺序调用libm。
需要在复杂浮点浮点上执行数学运算的用户点数应参考手册的复杂部分 数学图书馆,通过"man complex"
LIST OF 功能
在单个,单一的gle,double和扩展精度; 双精度原型是在此列出。各个功能的手册页提供了更多功能
关于他们的使用,特殊情况和原型的详细信息 扩展精度版本。
1 int fpclassify(double) 2 3 int isfinite(double) 4 5 int isinf(double) 6 7 int isnan(double) 8 9 int isnormal(double) 10 11 int signbit(double)
这些类似函数的宏用于对单个浮点进行分类论点。
1 double copysign(double, double) 2 3 double nextafter(double, double)
copysign(x,y)返回大小与x相等的值,其符号为 y。 函数nextafter(X, ÿ)后返回下一个浮点数X在y的方向。两者都是正确的四舍五入。
double nan(const char * tag)
在nan()函数返回一个静态的NaN,不提高无效标志。
1 double ceil(double) 2 3 double floor(double) 4 5 double nearbyint(double) 6 7 double rint(double) 8 9 double round(double) 10 11 long int lrint(double) 12 13 long int lround(double) 14 15 long long int llrint(double) 16 17 long long int llround(double) 18 19 double trunc(double)
这些函数提供了将浮点值舍入到的各种方法积分值。它们是正确的圆形。
1 double fmod(double, double) 2 3 double remainder(double, double) 4 5 double remquo(double x, double y, int *)
它们以x为单位返回x除以x的余数。商。tient。 remquo()另外提供访问的几个较低位商。它们是正确的圆形。
1 double fdim(double, double) 2 3 double fmax(double, double) 4 5 double fmin(double, double)
fmax(x,y)和fmin(x,y)分别返回x和y的最大值和最小值,fdim(x,y)返回x和y的正差。所有都是正确的 圆形。
double fma(double x, double y, double z)
fma(x,y,z)计算值(x * y)+ z,好像没有中间值四舍五入。它是正确的圆形。
1 double fabs(double) 2 3 double sqrt(double) 4 5 double cbrt(double) 6 7 double hypot(double, double)
fabs(x),sqrt(x)和cbrt(x)返回绝对值,平方根和x的立方根,分别为。 hypot(x,y)返回sqrt(x * x + y * y)。fabs()和sqrt()被正确舍入。
1 double exp(double) 2 3 double exp2(double) 4 5 double expm1(double)
exp(x),exp2(x)和expm1(x)分别返回e ** x,2 ** x和e ** x - 1 。tively。
1 double log(double) 2 3 double log2(double) 4 5 double log10(double) 6 7 double log1p(double)
log(x),log2(x)和log10(x)返回natural,base-2和base-10x的对数分别为。 log1p(x)返回1 + x的自然对数。
1 double logb(double) 2 3 int ilogb(double)
logb(X)和ilogb(X)返回的指数X。
1 double modf(double, double *) 2 3 double frexp(double, int *)
modf(x, &y)返回x的小数部分并存储在y整数部分。 frexp(x, &n)返回x的尾数并将指数存储在n中。它们 是 正确的 圆形。
1 double ldexp(double, int) 2 3 double scalbn(double, int) 4 5 double scalbln(double, long int)
ldexp(x, n),scalbn(x, n)和scalbln(x, n)返回x * 2 ** n。他们是正确舍入。
double pow(double, double)
pow(x,y)返回x上升到幂y。
1 double cos(double) 2 3 double sin(double) 4 5 double tan(double)
cos(X),sin(X),和tan(X)分别返回余弦,正弦和切线X。
1 double cosh(double) 2 3 double sinh(double) 4 5 double tanh(double)
cosh(x),sinh(x)和tanh(x)返回双曲余弦,双曲线x的正弦和双曲正切。
1 double acos(double) 2 3 double asin(double) 4 5 double atan(double) 6 7 double atan2(double, double)
acos(x),asin(x)和atan(x)返回反余弦,反正弦和x的反正切。 atan2(y, x)返回反正切线y / x的gent,根据(x,y)的象限选择符号。
1 double acosh(double) 2 3 double asinh(double) 4 5 double atanh(double)
acosh(x),asinh(x)和atanh(x)分别返回反双曲余弦,反双曲正弦和的反双曲正切X,respec- tively。tively。
1 double tgamma(double) 2 3 double lgamma(double)
tgamma(x)和lgamma(x)返回gamma函数及其值,对数在x处分别评估。
1 double j0(double) 2 3 double j1(double) 4 5 double jn(double) 6 7 double y0(double) 8 9 double y1(double) 10 11 double yn(double)
j0(x),j1(x)和jn(x)返回第0个,第1个和第n个的值第一类贝塞尔函数分别在x处评估。 y0(x),y1(x)和yn(x)返回第0个,
第1个和第n个贝塞尔的值分别在x处评估的第二种函数。
1 double erf(double) 2 3 double erfc(double)
erf(x)和erfc(x)分别返回错误函数的值和在x处评估的互补补充误差函数。
数学 常数
除了上面列出的函数之外,math.h还定义了许多函数有用的常数,如下所列。所有都定义为C99浮点常量。
CONSTANT VALUE
M_E base of natural logarithm, e
M_LOG2E log2(e)
M_LOG10E log10(e)
M_LN2 ln(2)
M_LN10 ln(10)
M_PI pi
M_PI_2 pi / 2
M_PI_4 pi / 4
M_1_PI 1 / pi
M_2_PI 2 / pi
M_2_SQRTPI 2 / sqrt(pi)
M_SQRT2 sqrt(2)
M_SQRT1_2 sqrt(1/2)
IEEE STANDARD 754 FLOATING-POINT ARITHMETIC
在math.h中声明的libm函数提供数学库函数函数单精度,双精度和扩展精度IEEE-754浮点数
英特尔mac,以及单精度和双精度IEEE-754上的格式PowerPC macs上的浮点格式。
标准
<math.h>函数符合ISO / IEC 9899:1999(E)标准。