16.2 浮点型函数
头文件math.h包含了函数库中剩余的数学函数的声明。这些函数的返回值以及绝大多数参数都是double类型。
警告:
一个常见的错误就是在使用这些函数时忘记包含这个头文件。如下所示:
double x;
x = sqrt( 5.5 );
编译器在此之前未曾见到过sqrt函数的原型,因此错误地假定它返回一个整数,然后错误地把这个值的类型转换为double,这个结果值是没有意义的。
如果一个函数的参数不该在函数的定义域之内,则称为定义域错误(domain error)。例如:
sqrt( -5.0 );
就是个定义域错误,因为负值的平方根是未定义的。当出现一个定义域错误时,函数返回一个由编译器定义的错误值,并且在errno中存储EDOM这个值。如果一个函数的结果值过大或过小,无法用double类型表示,则称为范围错误(range error)。例如:
exp( DBL_MAX );
将产生一个范围错误,因为它的结果值太大。在这种情况下,函数将返回HUGE_VAL,它是一个在math.h中定义的double类型的值。如果一个函数的结果值太小,无法用一个double表示,函数将返回0。这种情况也属于范围错误,但errno是否设置为ERANGE则取决于编译器。
16.2.1 三角函数 <math.h>
标准函数库提供了常见的三角函数
double sin( double angle );
double cos( double angle );
double tan( double angle );
C和指针 第16章 标准函数库 16.2 浮点型函数
于 2022-07-12 14:33:43 首次发布
这篇博客详细介绍了C语言标准库中的浮点型函数,包括三角函数、双曲函数、对数函数、浮点表示形式、幂运算以及底数、顶数、绝对值和余数等。强调了使用这些函数时需要包含math.h头文件,以及可能出现的定义域和范围错误,同时还提到了一些转换浮点字符串的函数。
摘要由CSDN通过智能技术生成