De functie asin () geeft de boogsinus (inverse sinus) van een getal in radialen terug.
De asin()
functie accepteert één argument (1 ≧ x ≧ -1) en geeft de boogsinus in radialen terug.
De asin()
functie is opgenomen in het header-bestand.
asin () Prototype
dubbele asin (dubbele x);
Om erachter te arcsinus van het type int
, float
of long double
, kunt u expliciet converteren het type om double
met behulp van cast operator.
int x = 0; dubbel resultaat; resultaat = asin (dubbel (x));
Ook werden twee functies asinf () en asinl () geïntroduceerd in C99 om specifiek te werken met respectievelijk type float
en long double
.
zweven asinf (zweven x); lange dubbele asinl (lange dubbele x);
asin () Parameter
De asin()
functie heeft een enkel argument in het bereik van (-1, +1). Het komt omdat de waarde van sinus in het bereik van 1 en -1 ligt.
Parameter | Omschrijving |
---|---|
dubbele waarde | Verplicht. Een dubbele waarde tussen - 1 en +1 inclusief. |
asin () Retourwaarde
De asin()
functie retourneert de waarde in het bereik van (-π / 2, + π / 2) in radialen. Als de parameter die aan de asin()
functie wordt doorgegeven, kleiner is dan -1 of groter dan 1, retourneert de functie NaN (geen getal).
Parameter (x) | Winstwaarde |
---|---|
x = (-1; +1) | (-π / 2, + π / 2) in radialen |
-1> x of x> 1 | NaN (geen nummer) |
Voorbeeld 1: asin () functie met verschillende parameters
#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; )
Uitvoer
Inverse van sin (-0.50) = -0.52 in radialen Inverse van sin (-0.50) = -30.00 in graden Inverse van sin (1.20) = nan
Voorbeeld 2: asinf () en asinl () functie
#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; )
Uitvoer
asinf (x) = -0.529851 in radialen asinl (x) = -0.529852 in radialen