asin()函数返回以弧度数表示的反正弦值。
asin()函数采用单个参数(1≥x≥-1),并返回弧度的反正弦值。
asin()函数包含在<math.h>头文件中。
double asin(double x);
要查找类型为int,float或long double的反正弦,可以使用强制转换运算符将类型显式转换为double。
int x = 0; double result; result = asin(double(x));
此外,C99中引入了两个函数asinf()和asinl(),分别用于float和long double类型。
float asinf(float x); long double asinl(long double x);
asin()函数采用[-1,+1]范围内的单个参数。这是因为正弦值在1到-1之间。
参数 | 描述 |
---|---|
double 值 | 必需。一个介于- 1和+1之间的双精度值。 |
asin()函数在[-π/ 2,+π/ 2]在弧度范围返回该值。如果传递给该asin()函数的参数小于-1或大于1,则该函数返回NaN(不是数字)。
参数(x) | 返回值 |
---|---|
x = [-1, +1] | [-π/2, +π/2] 弧度 |
-1 > x 或 x > 1 | NaN (非数字) |
#include <stdio.h> #include <math.h> int main() { // PI常量 const double PI = 3.1415926; double x, result; x = -0.5; result = asin(x); printf("Inverse of sin(%.2f) 反正弦值 = %.2lf 弧度\n", x, result); //将弧度转换成角度 result = asin(x)*180/PI; printf("Inverse of sin(%.2f) 反正弦值 = %.2lf in degrees\n", x, result); //参数不在范围内 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
#include <stdio.h> #include <math.h> int main() { float fx, fasinx; long double lx, ldasinx; // 浮动型圆弧正弦 fx = -0.505405; fasinx = asinf(fx); // long double类型的反正弦 lx = -0.50540593; ldasinx = asinf(lx); printf("asinf(x) 反正弦值 = %f 弧度\n", fasinx); printf("asinl(x) 反正弦值 = %Lf 弧度", ldasinx); return 0; }
输出结果
asinf(x) 反正弦值 = -0.529851 弧度 asinl(x) 反正弦值 = -0.529852 弧度