C 標(biāo)準(zhǔn)庫(kù) <math.h>
asin()函數(shù)返回以弧度數(shù)表示的反正弦值。
asin()函數(shù)采用單個(gè)參數(shù)(1≥x≥-1),并返回弧度的反正弦值。
asin()函數(shù)包含在<math.h>頭文件中。
double asin(double x);
要查找類型為int,float或long double的反正弦,可以使用強(qiáng)制轉(zhuǎn)換運(yùn)算符將類型顯式轉(zhuǎn)換為double。
int x = 0; double result; result = asin(double(x));
此外,C99中引入了兩個(gè)函數(shù)asinf()和asinl(),分別用于float和long double類型。
float asinf(float x); long double asinl(long double x);
asin()函數(shù)采用[-1,+1]范圍內(nèi)的單個(gè)參數(shù)。這是因?yàn)檎抑翟?到-1之間。
| 參數(shù) | 描述 |
|---|---|
| double 值 | 必需。一個(gè)介于- 1和+1之間的雙精度值。 |
asin()函數(shù)在[-π/ 2,+π/ 2]在弧度范圍返回該值。如果傳遞給該asin()函數(shù)的參數(shù)小于-1或大于1,則該函數(shù)返回NaN(不是數(shù)字)。
| 參數(shù)(x) | 返回值 |
|---|---|
| x = [-1, +1] | [-π/2, +π/2] 弧度 |
| -1 > x 或 x > 1 | NaN (非數(shù)字) |
#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);
//將弧度轉(zhuǎn)換成角度
result = asin(x)*180/PI;
printf("Inverse of sin(%.2f) 反正弦值 = %.2lf in degrees\n", x, result);
//參數(shù)不在范圍內(nèi)
x = 1.2;
result = asin(x);
printf("Inverse of sin(%.2f) 反正弦值 = %.2lf", x, result);
return 0;
}輸出結(jié)果
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;
// 浮動(dòng)型圓弧正弦
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;
}輸出結(jié)果
asinf(x) 反正弦值 = -0.529851 弧度 asinl(x) 反正弦值 = -0.529852 弧度