C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++ STLのacos()関数とは?使い方をサンプルコード付きで解説

C++ STLのacos()関数とは

acos()関数は、ラジアン単位で与えられた値に対する逆余弦(アークコサイン)を返す関数で、C++のSTLに標準で組み込まれています。この関数は<cmath>ヘッダで定義されています。

acos()関数の構文

acos(var)

構文から分かるように、acos()関数はfloat、double、long doubleのいずれかのデータ型を持つ引数varを1つ受け取ります。引数の値は-1から1の範囲内でなければなりません。範囲外の値を渡した場合はNaN(非数)が返される点に注意が必要です。戻り値は、-πからπの範囲におけるvarの逆余弦(ラジアン単位)です。

acos()関数の基本的な使い方

C++でacos()関数を使用するプログラムの例を以下に示します。

使用例

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    double d = 0.75, ans;
    ans = acos(d);
    cout << "acos(" << d << ") = " << ans << endl;
    return 0;
}

出力

acos(0.75) = 0.722734

このプログラムでは、まず変数dを0.75で初期化しています。次に、acos()関数を使ってdの逆余弦を計算し、その結果を変数ansに格納します。最後に、ansの値を出力しています。処理の流れは以下のコード部分で表されています。

double d = 0.75, ans;
ans = acos(d);
cout << "acos(" << d << ") = " << ans << endl;

結果を度数法(度)に変換して表示する

acos()関数の戻り値はラジアン単位のため、必要に応じて度数法(度)に変換して表示することもできます。変換には「180 / π」を掛けます。そのプログラム例を以下に示します。

使用例

#include <iostream>
#include <cmath>
using namespace std;
int main() {
    double d = 0.75, ans;
    ans = acos(d);
    ans = ans * 180 / 3.14159;
    cout << "acos(" << d << ") = " << ans << endl;
    return 0;
}

出力

acos(0.75) = 41.4097

このプログラムでは、acos()関数で逆余弦を求めた後、その値に「180 / 3.14159」を掛けて度数に変換しています。最後に、変換後の値を出力しています。該当するコード部分は以下の通りです。

double d = 0.75, ans;
ans = acos(d);
ans = ans * 180 / 3.14159;
cout << "acos(" << d << ") = " << ans << endl;

まとめ

acos()関数は、-1から1の範囲の値に対して逆余弦をラジアン単位で返す、C++ STLの標準的な数学関数です。結果を度数法で扱いたい場合は、180 / πを掛けて変換するだけで簡単に求められます。

  1. C++ STLのcosh()関数とは?双曲線余弦の求め方をサンプルコード付きで解説

    cosh()関数とは? C++のSTLに組み込まれているcosh()関数は、ラジアン単位で与えられた角度の双曲線余弦(ハイパボリック・コサイン)を計算して返す関数です。使用するには、<cmath>ヘッダーをインクルードする必要があります。 双曲線余弦は、数学的に次の式で定義されます。 cosh(x) = (e^x + e^(-x)) / 2 構文 cosh()関数の構文は以下の通りです。 cosh(var) 構文から分かるように、cosh()関数はfloat型、double型、long double型のいずれかの引数varを受け取ります。そして、その双曲線余弦を返します。なお、引

  2. C++ STLのsinh()関数の使い方を徹底解説

    sinh()関数とはsinh()関数は、ラジアンで指定された値の双曲線正弦(ハイパボリックサイン)を返す関数です。C++のSTL(標準テンプレートライブラリ)に組み込まれており、<cmath>ヘッダをインクルードすることで利用できます。双曲線正弦は、以下の数式で定義されます。sinh(x) = (e^x − e^−x) / 2sinh()関数の構文sinh()関数の構文は以下のとおりです。sinh(var)構文からわかるように、sinh()関数はfloat型、double型、long double型のいずれかのパラメータvarを受け取ります。戻り値は、varの双曲線正弦です。sin