日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

asin c语言中 返回值范围_asin()_C语言asin()详解:反正弦函数,求反正弦值

發布時間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asin c语言中 返回值范围_asin()_C语言asin()详解:反正弦函数,求反正弦值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

double asin(double x);

asin() 函數的功能是求反正弦值。

反正弦函數 asin() 和正弦函數 sin() 的功能正好相反:sin() 是已知一個角的弧度值 x,求該角的正弦值 y;而 asin() 是已知一個角的正弦值 y,求該角的弧度值 x。

參數

x

正弦值。x 的取值必須位于區間[-1, 1]中,如果 x 的值超出此區間,將會產生域錯誤(domain error)。

返回值

正常情況下(x 的取值位于區間[-1, 1]),函數返回正弦值為 x 的角的弧度數。

如果 x 的取值超出范圍,那么 asin() 將發生域錯誤,此時返回值為 NaN。

發生域錯誤時,asin() 還會設置 頭文件下的 errno 和 頭文件下的?FE_INVALID,我們也可以借此檢測出域錯誤。關于域錯誤的更多內容請猛擊《域錯誤(domain error)》。

實例

【實例1】求 0.5 的反正弦值(正常情況)。

/* asin example */

#include /* printf */

#include /* asin */

#define PI 3.14159265

int main ()

{

double param, result;

param = 0.5;

result = asin (param) * 180.0 / PI;

printf ("The arc sine of %f is %f degrees\n", param, result);

return 0;

}

運行結果:

The arc sine of 0.500000 is 30.000000 degrees

【實例2】求 2 的反正弦值(發生域錯誤)。

/* asin example */

#include /* printf */

#include /* asin */

#include /* errno */

#include /* FE_INVALID */

#define PI 3.14159265

int main()

{

double result = asin(2) * 180.0 / PI;

printf("result is :%f\n", result);

if (errno == EDOM) {

perror("errno == EDOM");

}

if (fetestexcept(FE_INVALID)) {

printf("FE_INVALID is set\n");

}

return 0;

}

在 VS2015 下的運行結果:

result is :-nan(ind)

errno == EDOM: Domain error

FE_INVALID is set

在 GCC 下的運行結果:

result is :nan

errno == EDOM: Numerical argument out of domain

FE_INVALID is set

在 Xcode 下的運行結果:

result is :nan

FE_INVALID is set

不同的編譯器對 NaN 的輸出不同,具體原因請猛擊《NaN(Not a Number),表示一個無效數字》。

Xcode 使用了較新的 C99 標準,當發生域錯誤時,不再設置 errno 的值了。

總結

以上是生活随笔為你收集整理的asin c语言中 返回值范围_asin()_C语言asin()详解:反正弦函数,求反正弦值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。