Cライブラリ関数 -acos()
説明
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;
}
#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;
}
#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>