Funkcja asin () zwraca łuk sinusoidalny (odwrotny sinus) liczby w radianach.
asin()
Funkcja przyjmuje jeden argument (1 ≧ x ≧ 1) i zwraca sinus kąta w radianach.
asin()
Funkcja jest zawarty w pliku nagłówka.
asin () Prototyp
podwójne asin (podwójne x);
Aby znaleźć arc sinus typu int
, float
lub long double
można jawnie przekonwertować typ do double
korzystania z operatorem plastikowymi.
int x = 0; podwójny wynik; wynik = asin (double (x));
Ponadto dwie funkcje asinf () i asinl () zostały wprowadzone w C99 specjalnie do pracy z typem float
i long double
odpowiednio.
float asinf (float x); długi podwójny asinl (długi podwójny x);
Parametr asin ()
asin()
Funkcja przyjmuje jeden argument w przedziale (-1, +1). Dzieje się tak, ponieważ wartość sinusa mieści się w przedziale od 1 do -1.
Parametr | Opis |
---|---|
podwójna wartość | Wymagany. Podwójna wartość od - 1 do +1 włącznie. |
asin () Wartość zwracana
Te asin()
funkcje zwraca wartość w przedziale (-π / 2, + p / 2) w radianach. Jeśli parametr przekazany do asin()
funkcji jest mniejszy niż -1 lub większy niż 1, funkcja zwraca NaN (nie liczbę).
Parametr (x) | Wartość zwracana |
---|---|
x = (-1, +1) | (-π / 2, + π / 2) w radianach |
-1> x lub x> 1 | NaN (nie liczba) |
Przykład 1: funkcja asin () z różnymi parametrami
#include #include int main() ( // constant PI is defined const double PI = 3.1415926; double x, result; x = -0.5; result = asin(x); printf("Inverse of sin(%.2f) = %.2lf in radians", x, result); // converting radians to degree result = asin(x)*180/PI; printf("Inverse of sin(%.2f) = %.2lf in degrees", x, result); // paramter not in range x = 1.2; result = asin(x); printf("Inverse of sin(%.2f) = %.2lf", x, result); return 0; )
Wynik
Odwrotność grzechu (-0,50) = -0,52 w radianach Odwrotność grzechu (-0,50) = -30,00 w stopniach Odwrotność grzechu (1,20) = nan
Przykład 2: funkcja asinf () i asinl ()
#include #include int main() ( float fx, fasinx; long double lx, ldasinx; // arc sinine of type float fx = -0.505405; fasinx = asinf(fx); // arc sinine of type long double lx = -0.50540593; ldasinx = asinf(lx); printf("asinf(x) = %f in radians", fasinx); printf("asinl(x) = %Lf in radians", ldasinx); return 0; )
Wynik
asinf (x) = -0,529851 w radianach asinl (x) = -0,529852 w radianach