math.h

一、错误

  • <math.h>中的函数对错误的处理方式与其他库函数不同。

  • 当发生错误时,<math. h>的大多数函数会将一个错误码存储到一个名为errno(在<errno.h>中声明的)的特殊变量中。

  • 此外,一旦函数的返回值大于double类型的最大取值,<math.h>中的函数会返回一个特殊的值,这个值由HUGE_VAL宏定义(这个宏在<math. h>中定义)。

  • HUGE _VAL是double类型的,但不定是一个普通的数。 (IEEE浮点运算标准定义了一个值叫“无穷数”,这个值是HUGE_VAL的一个合理的选择。)

  • <math.h>中的函数检查下面两种错误。

  • 定义域错误 EDOM :函数的实参超出了函数的定义域。当定义域错误发生时,函数的返回值是由实现定义的,同时EDOM(“定义域错误")会被存储到errmo中。
    在<math.h>的某些实现中,当定义域错误发生时,函数会返回一个特殊的值NaN (“非数”)。

  • 取值范围错误 ERANGE :函数的返回值超出了double类型的取值范围。如果返回值的绝对值过大(上溢出),函数会根据正确结果的符号返回正的或负的HUGE_VAL。此外,值ERANGE(“取值范围错误")会被存储到errno中。
    如果返回值的绝对值太小(下溢出),函数返回零;一些实现可能也会将ERANGE存储到errno中。

二、分类

1、三角函数

double acos(double x);
double asin(double x);
double atan(double x);
double atan2(double y, double x);
double cos(double x);
double sin(double x);
double tan(double x);

2、双曲函数

double cosh(double x);
double sinh(double x);
double tanh(double x);

3、指数函数和对数函数

double exp(double x);
double frexp(double value, int *exp);
double ldexp(double x, int exp);
double log(double x);
double log10(double x);
double modf(double value, double *iptr);

4、幂函数

double pow(double x, double y);
double sqrt(double x);

5、就近取整函数、绝对值函数、取余函数

double ceil(double x);
double fabs(double x);
double floor(double x);
double fmod(double x, double y);

猜你喜欢

转载自blog.csdn.net/qq_42815188/article/details/86557358