Функция asin () возвращает арксинус (обратный синус) числа в радианах.
asin()
Функция принимает один аргумент (1 ≧ х ≧ -1), и возвращает арксинус в радианах.
asin()
Функция включена в файл заголовка.
asin () Прототип
двойной азин (двойной х);
Чтобы найти арксинус типа int
, float
или long double
, вы можете явно преобразовать тип в double
using оператор приведения.
int x = 0; двойной результат; результат = asin (double (x));
Кроме того, в C99 были введены две функции asinf () и asinl () для работы с типами float
и long double
соответственно.
float asinf (float x); длинный двойной asinl (длинный двойной x);
asin () Параметр
asin()
Функция принимает один аргумент в диапазоне (-1, +1). Это потому, что значение синуса находится в диапазоне от 1 до -1.
Параметр | Описание |
---|---|
двойное значение | Необходимые. Двойное значение от -1 до +1 включительно. |
asin () Возвращаемое значение
Эти asin()
функции возвращают значение в диапазоне (-π / 2, + л / 2) в радианах. Если переданный в asin()
функцию параметр меньше -1 или больше 1, функция возвращает NaN (не число).
Параметр (x) | Возвращаемое значение |
---|---|
х = (-1, +1) | (-π / 2, + π / 2) в радианах |
-1> x или x> 1 | NaN (не число) |
Пример 1: функция asin () с разными параметрами
#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; )
Вывод
Обратный sin (-0,50) = -0,52 в радианах Обратный sin (-0,50) = -30,00 в градусах Обратный sin (1,20) = nan
Пример 2: функции asinf () и 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; )
Вывод
asinf (x) = -0,529851 в радианах asinl (x) = -0,529852 в радианах