共用方式為


sin, sinf, sinl, sinh, sinhf, sinhl

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at sin, sinf, sinl, sinh, sinhf, sinhl.

Calculates sines and hyperbolic sines.

Syntax

double sin(  
   double x   
);  
float sin(  
   float x  
);  // C++ only  
long double sin(  
   long double x  
);  // C++ only  
float sinf(  
   float x   
);  
long double sinl(   long double x  
);  
double sinh(  
   double x   
);  
float sinh(  
   float x   
);  // C++ only  
long double sinh(  
   long double x  
);  // C++ only  
float sinhf(  
   float x  
);  
long double sinhl(  
   long double x  
);  

Parameters

x
Angle in radians.

Return Value

The sin functions return the sine of x. If x is greater than or equal to 263, or less than or equal to –263, a loss of significance in the result occurs.

The sinh functions return the hyperbolic sine of x. By default, if the result is too large, sinh sets errno to ERANGE and returns ±HUGE_VAL.

Input SEH Exception Matherr Exception
± QNAN,IND None _DOMAIN
± ∞ (sin, sinf, sinl) INVALID _DOMAIN
|x| ≥ 7.104760e+002 (sinh, sinhf, sinhl) OVERFLOW+INEXACT OVERFLOW

For more information about return codes, see errno, _doserrno, _sys_errlist, and _sys_nerr.

Remarks

Because C++ allows overloading, you can call overloads of sin and sinh that take and return float or long double values. In a C program, sin and sinh always take and return double.

Requirements

Routine Required header
sin, sinf, sinl, sinh, sinhf, sinhl <math.h>

For additional compatibility information, see Compatibility.

Example

// crt_sincos.c  
// This program displays the sine, hyperbolic  
// sine, cosine, and hyperbolic cosine of pi / 2.  
//  
  
#include <math.h>  
#include <stdio.h>  
  
int main( void )  
{  
   double pi = 3.1415926535;  
   double x, y;  
  
   x = pi / 2;  
   y = sin( x );  
   printf( "sin( %f ) = %f\n", x, y );  
   y = sinh( x );  
   printf( "sinh( %f ) = %f\n",x, y );  
   y = cos( x );  
   printf( "cos( %f ) = %f\n", x, y );  
   y = cosh( x );  
   printf( "cosh( %f ) = %f\n",x, y );  
}  
  sin( 1.570796 ) = 1.000000  
  sinh( 1.570796 ) = 2.301299  
  cos( 1.570796 ) = 0.000000  
  cosh( 1.570796 ) = 2.509178  

.NET Framework Equivalent

See Also

Floating-Point Support
acos, acosf, acosl
asin, asinf, asinl
atan, atanf, atanl, atan2, atan2f, atan2l
cos, cosf, cosl, cosh, coshf, coshl
tan, tanf, tanl, tanh, tanhf, tanhl
_CIsin