?
This document uses PHP Chinese website manual Release
在頭文件<math.h>中定義 | ||
---|---|---|
float sinf(float arg); | (1) | (自C99以來(lái)) |
雙罪(雙重arg); | (2) | |
long double sinl(long double arg); | (3) | (自C99以來(lái)) |
在頭文件<tgmath.h>中定義 | ||
#define sin(arg) | (4) | (自C99以來(lái)) |
1-3)計(jì)算正弦arg
(以弧度測(cè)量)。
4)類型 - 通用宏:如果參數(shù)具有類型long double
,sinl
則被調(diào)用。否則,如果參數(shù)具有整數(shù)類型或類型double
,sin
則調(diào)用該參數(shù)。否則,sinf
被調(diào)用。如果參數(shù)是復(fù)雜的,則宏調(diào)用相應(yīng)的復(fù)變函數(shù)(csinf
,csin
,csinl
)。
arg | - | 以弧度表示角度的浮點(diǎn)值 |
---|
如果沒(méi)有錯(cuò)誤發(fā)生,arg
(sin(arg))的正弦在-1范圍內(nèi); 返回+1。
如果arg的大小很大,結(jié)果可能幾乎沒(méi)有意義。 | (直到C99) |
---|
如果發(fā)生域錯(cuò)誤,則返回實(shí)現(xiàn)定義的值(NaN,如果支持)。
如果由于下溢而發(fā)生范圍錯(cuò)誤,則返回正確的結(jié)果(舍入后)。
按照math_errhandling中的指定報(bào)告錯(cuò)誤。
如果實(shí)現(xiàn)支持IEEE浮點(diǎn)運(yùn)算(IEC 60559),
如果參數(shù)為±0,則不加修改地返回
如果參數(shù)是±∞,則返回并FE_INVALID
提升NaN
如果參數(shù)是NaN,則返回NaN
參數(shù)無(wú)限的情況在C中沒(méi)有被指定為域錯(cuò)誤,但是在POSIX中被定義為域錯(cuò)誤。
POSIX還規(guī)定,如果出現(xiàn)下溢,arg
則不加修改地返回,如果不支持,則返回不大于DBL_MIN,F(xiàn)LT_MIN和LDBL_MIN的實(shí)現(xiàn)定義值。
#include <stdio.h>#include <math.h>#include <errno.h>#include <fenv.h> #pragma STDC FENV_ACCESS ON int main(void){ double pi = acos(-1); // typical usage printf("sin(pi/6) = %f\n", sin(pi/6)); printf("sin(pi/2) = %f\n", sin(pi/2)); printf("sin(-3*pi/4) = %f\n", sin(-3*pi/4)); // special values printf("sin(+0) = %f\n", sin(0.0)); printf("sin(-0) = %f\n", sin(-0.0)); // error handling feclearexcept(FE_ALL_EXCEPT); printf("sin(INFINITY) = %f\n", sin(INFINITY)); if(fetestexcept(FE_INVALID)) puts(" FE_INVALID raised");}
可能的輸出:
sin(pi/6) = 0.500000sin(pi/2) = 1.000000sin(-3*pi/4) = -0.707107sin(+0) = 0.000000sin(-0) = -0.000000sin(INFINITY) = -nan FE_INVALID raised
C11標(biāo)準(zhǔn)(ISO/IEC 9899:2011):
7.12.4.6 sin函數(shù)(p:239-240)
7.25類型通用數(shù)學(xué)<tgmath.h>(p:373-375)
F.10.1.6罪惡功能(p:519)
C99標(biāo)準(zhǔn)(ISO/IEC 9899:1999):
7.12.4.6 sin函數(shù)(p:220)
7.22類型通用數(shù)學(xué)<tgmath.h>(p:335-337)
F.9.1.6 sin函數(shù)(p:456)
C89/C90標(biāo)準(zhǔn)(ISO/IEC 9899:1990):
4.5.2.6 sin函數(shù)
coscosfcosl(C99)(C99) | 計(jì)算余弦(cos(x))(函數(shù)) |
---|---|
tantanftanl(C99)(C99) | 計(jì)算切線(tan(x))(函數(shù)) |
asinasinfasinl(C99)(C99) | 計(jì)算反正弦(arcsin(x))(函數(shù)) |
csincsinfcsinl(C99)(C99)(C99) | 計(jì)算復(fù)雜的正弦函數(shù)(函數(shù)) |