Cライブラリ関数 -acos()

C 标准库 - <math.h>C標準ライブラリ - <math.h>

説明

acos()C標準ライブラリの<math.h>1つの関数で、数値の逆余弦(アークコサイン)を計算するために使用されます(三角関数の逆関数における余弦逆関数とも呼ばれます)。

acos()この関数は -1 から 1 の間の実数を受け取り、その値の逆余弦をラジアン単位で返します。

宣言

以下は acos() 関数の宣言です。

#include <math.h>

double acos(double x);
float acosf(float x);
long double acosl(long double x);

引数

  • x-- -1 から 1 の間の浮動小数点数。

戻り値

  • 戻り値はxの逆余弦(ラジアン単位)です。戻り値の範囲は [0, π] です。
  • もしxが [-1, 1] の範囲内にない場合、関数は NaN を返し、適切な数学エラーを設定します(例:EDOM)。

例

以下の例は acos() 関数の使い方を示しています。

例

#include <stdio.h>
#include <math.h>

int main() {
    double x = 0.5;
    double result = acos(x);

    printf("acos(%f) = %f radians\n", x, result);
    printf("acos(%f) = %f degrees\n", x, result * 180 / M_PI);

    return 0;
}

コードの解説:

  • コードはまずヘッダーファイルをインクルードします<math.h>と<stdio.h>。
  • 変数を定義しますx、値は 0.5 です。
  • 使用してacos()計算xの逆余弦を計算し、結果をresultに格納します。
  • 出力しますxの逆余弦(ラジアン単位)を。
  • 結果を角度に変換して出力します。変換式は次のとおりです。弧度 * (180 / π)。

上記のプログラムをコンパイルして実行すると、次の結果が得られます:

acos(0.500000) = 1.047198 radians
acos(0.500000) = 60.000000 degrees

エラー処理

入力されたxが有効範囲 [-1, 1] を超えると、acos()は NaN を返し、errno を設定します。errnoためにEDOM。isnan() 関数を使用してisnan()結果が NaN かどうかを確認できます:

例

#include <stdio.h>
#include <math.h>
#include <errno.h>

int main() {
    double x = 2.0;  // 無効な入力、[-1, 1] の範囲外
    errno = 0;  // errno をリセット
    double result = acos(x);

    if (errno == EDOM) {
        printf("Input value is out of domain. acos(%f) is not defined.\n", x);
    } else {
        printf("acos(%f) = %f radians\n", x, result);
    }

    return 0;
}

コードの解説:

  • コードは計算を試みますacos(2.0)、これは無効な入力です。2.0 が [-1, 1] の範囲内にないためです。
  • errnoは 0 にリセットされ、その後呼び出しますacos(x)。
  • 確認してerrnoが等しいかどうかEDOM、もし等しければ、エラーメッセージを出力します。
  • エラーがなければ、計算結果を出力します。

上記のプログラムをコンパイルして実行すると、次の結果が得られます:

acos(2.000000) = nan radians

acos()acos() 関数は指定された値の逆余弦を計算するために使用され、三角関数の逆演算を処理する一般的なツールです。使用時には、入力値が [-1, 1] の範囲内であることを確認し、可能性のあるエラー条件を処理する必要があります。結果を角度に変換することで、より直感的に結果を理解できます。

C 标准库 - <math.h>C標準ライブラリ - <math.h>

その他の拡張