English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base en C

Contrôle de flux en C

Fonctions du langage C

Tableaux en langage C

Pointeurs en langage C

Chains de caractères en langage C

Structure en C

Fichier en C

Autres C

Manuel de référence en C

Utilisation et exemple de la fonction de bibliothèque C acosh()

Bibliothèque standard <math.h> en C

La fonction acosh() retourne la valeur de l'arcacosh en radians.

La fonction acosh() utilise un seul paramètre (x≥1),et retourne l'arcacosh en radians.

La fonction acosh() est incluse dans le fichier d'en-tête <math.h>.

Prototype de acosh()

double acosh(double x);

Pour trouver l'arcacosh d'un type int, float ou long double, vous pouvez utiliser l'opérateur de conversion de type pour convertir explicitement le type en double.

 int x = 0;
 double result;
 result = acosh(double(x));

De plus, C99Les deux fonctions acoshf() et acoshl() ont été introduites dans ce contexte, dédiées respectivement aux types float et long double.

float acoshf(float x);
long double acoshl(long double x);

paramètres et valeurs de retour de acosh()

La fonction acosh() utilise un nombre supérieur ou égal à1du paramètre.

paramètredescription
valeur double (double précision)nécessaire. Supérieur ou égal à1de deux fois la valeur (x ≥ 1.

acosh()返回值

acosh()函数返回一个数大于或弧度等于0。如果传递的参数小于1(x <1),则该函数返回NaN(不是数字)。

参数(x)返回值
x ≥ 1

大于或等于0(以弧度为单位)的数字

x < 1NaN (不是数字)

示例1:具有不同参数的acosh()函数

#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;
}

Résultat de la sortie

acosh(5.90) 反双曲余弦值  = 2.46 Radian
acosh(5.90) 反双曲余弦值  = 141.00 度
acosh(0.50) 反双曲余弦值  = nan

示例2:acosh()用INFINITY和DBL_MAX做参数

#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是表示正无穷大的常数表达式。

示例3:acoshf()和acoshl()函数

#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) cosinus hyperbolique inverse = %Lf degrés", ldacosx);
    return 0;
}

Résultat de la sortie

acoshf(x) cosinus hyperbolique inverse = 2.390524 Radian
acoshl(x) cosinus hyperbolique inverse = 2.390525 度

Bibliothèque standard <math.h> en C