sin、sinf、sinh、sinhf
更新 : 2007 年 11 月
サインおよび双曲線正弦を計算します。
double sin(
double x
);
float sin(
float x
); // C++ only
long double sin(
long double x
); // C++ only
float sinf(
float x
);
double sinh(
double x
);
float sinh(
float x
); // C++ only
long double sinh(
long double x
); // C++ only
float sinhf(
float x
);
パラメータ
- x
角度 (ラジアン)。
戻り値
sin は、x のサインを返します。x が 263 以上または –263 以下の場合、計算結果の有効桁の一部が失われます。
sinh は、x のハイパーボリック サイン (双曲線正弦) を返します。結果が大きすぎる場合、sinh は errno を ERANGE に設定し、既定で ±HUGE_VAL を返します。
入力 |
SEH 例外 |
Matherr 例外 |
---|---|---|
± QNAN、IND |
なし |
_DOMAIN |
± ∞ (sin、sinf) |
INVALID |
_DOMAIN |
|x| ≥ 7.104760e+002 (sinh、sinhf) |
OVERFLOW+INEXACT |
OVERFLOW |
戻り値の詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。
解説
C++ ではオーバーロードが可能であるため、float 型または long double 型を受け取る sin と sinh のオーバーロードを呼び出すことができます。C プログラムでは、sin 関数は常に倍精度浮動小数点数を受け取って倍精度浮動小数点数を返し、sinh 関数は常に浮動小数点数を受け取って浮動小数点数を返します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
sin, sinf, sinh, sinhf |
<math.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// 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