ホームC言語Tips集数学 ≫ アークサイン(逆正弦)を計算する

C言語Tips集 - アークサイン(逆正弦)を計算する

C言語でアークサイン(逆正弦)を計算するには,math.hasin 関数,asinf 関数,asinl 関数のいずれかを使用します.

#include <math.h>

asin

double asin(double x);

asinf (C99)

float asinf(float x);

asinl (C99)

long double asinl(long double x);

asin 関数,asinf 関数,asinl 関数はいずれも x のアークサイン(逆正弦)を計算する関数です.

asin 関数,asinf 関数,asinl 関数は,引数 x に -1.0 から +1.0 の値を渡すと弧度法で角度を返します.
角度を弧度法から度数法に変換するには,角度を弧度法から度数法に変換する をご覧下さい.

C言語サンプルプログラム

以下に asin 関数を使用してアークサインを取得するサンプルプログラムを示します.

/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

/* functions */
double to_deg(double);

/* main */
int main(void) {
    double rad, deg;

    /* 逆正弦 (arcsin) を取得する */
    rad = asin(0.5);

    /* 度数法に変換する */
    deg = to_deg(rad);

    /* 結果の表示 */
    printf("asin(%.1f) = %.2f度\n", 0.5, deg);

    return EXIT_SUCCESS;
}

/**
 * @brief 弧度法表記を度数法表記に変換する
 * @param[IN] r 角度[rad]
 * @return 角度[deg]
 */
double to_deg(double r) {
    return r * 180.0 / (atan(1.0) * 4.0);
}

実行例

サンプルプログラムの実行結果は以下のようになります.

asin(0.5) = 30.00度

Cプログラマの必読書

たくさんあるC言語関連の書籍の中でも特に役に立った本です.よかったら参考にしてみてください.

C実践プログラミング 第3版

C言語の実践的参考書.少々値段は張りますが初心者を脱しようとしている人は絶対に読むべきです.
文法だけでなく,コーディングスタイルやデバッグなど文字通り「実践的」なことが書かれているので非常にためになります. オライリーの本は,読みにくい本が多いのですが本書はとても読みやすくオススメです.


C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

ポインタの解説書としては最高の書籍です.
この1冊でポインタを完全に理解することができます.全くの初学者が読むには敷居が高いですが,入門書を読み終えた後に読むと非常に有益です.

三角関数・逆三角関数