acosh()函数返回弧度数的反双曲余弦值。
acosh()函数采用单个参数(x≥1),并以弧度返回弧反双曲余弦。
acosh()函数包含在<math.h>头文件中。
double acosh(double x);
要查找类型为int,float或long double的反双曲余弦,可以使用强制转换运算符将类型显式转换为double。
int x = 0; double result; result = acosh(double(x));
另外,C99中引入了两个函数acoshf()和acoshl(),分别专门处理float类型和long double类型。
float acoshf(float x); long double acoshl(long double x);
acosh()函数采用一个大于或等于1的参数。
参数 | 描述 |
---|---|
double value(双精度值) | 必需的。大于或等于1的两倍值 (x ≥ 1). |
acosh()函数返回一个数大于或弧度等于0。如果传递的参数小于1(x <1),则该函数返回NaN(不是数字)。
参数(x) | 返回值 |
---|---|
x ≥ 1 | 大于或等于0(以弧度为单位)的数字 |
x < 1 | NaN (不是数字) |
#include <stdio.h> #include <math.h> int main() { // 定义常量 PI const double PI = 3.1415926; double x, result; x = 5.9; result = acosh(x); printf("acosh(%.2f) 反双曲余弦值 = %.2lf 弧度\n", x, result); //将弧度转换成角度 result = acosh(x)*180/PI; printf("acosh(%.2f) 反双曲余弦值 = %.2lf 度\n", x, result); //参数不在范围内 x = 0.5; result = acosh(x); printf("acosh(%.2f) 反双曲余弦值 = %.2lf", x, result); return 0; }
输出结果
acosh(5.90) 反双曲余弦值 = 2.46 弧度 acosh(5.90) 反双曲余弦值 = 141.00 度 acosh(0.50) 反双曲余弦值 = nan
#include <stdio.h> #include <math.h> #include <float.h> int main() { double x, result; //最大可表示的有限浮点数 x = DBL_MAX; result = acosh(x); printf("弧度acosh()的最大值 = %.3lf\n", result); // Infinity x = INFINITY; result = acosh(x); printf("当无穷大传递给acosh()时,结果 = %.3lf\n", result); return 0; }
可能的输出
弧度acosh()的最大值 = 710.476 当无穷大传递给acosh()时,结果 = inf
在这里,在float.h头文件中定义的DBL_MAX是可表示的最大有限浮点数。 并且,math.h中定义的INFINITY是表示正无穷大的常数表达式。
#include <stdio.h> #include <math.h> int main() { float fx, facosx; long double lx, ldacosx; //浮点型圆弧双曲余弦 fx = 5.5054; facosx = acoshf(fx); //长双精度类型的弧双曲余弦 lx = 5.50540593; ldacosx = acoshl(lx); printf("acoshf(x) 反双曲余弦= %f 弧度\n", facosx); printf("acoshl(x) 反双曲余弦= %Lf 度", ldacosx); return 0; }
输出结果
acoshf(x) 反双曲余弦 = 2.390524 弧度 acoshl(x) 反双曲余弦 = 2.390525 度