ldexp
, ldexpf
, ldexpl
浮動小数点数に整数である 2 の累乗を乗算します。
構文
double ldexp(
double x,
int exp
);
float ldexpf(
float x,
int exp
);
long double ldexpl(
long double x,
int exp
);
#define ldexp(X, INT) // Requires C11 or higher
float ldexp(
float x,
int exp
); // C++ only
long double ldexp(
long double x,
int exp
); // C++ only
パラメーター
x
浮動小数点値。
exp
整数の指数。
戻り値
成功した場合、関数は ldexp
* 2exp
のx
値を返します。 オーバーフローが発生すると、符号x
ldexp
に応じて +/- HUGE_VAL
errno
が返されます。値は ERANGE
.
エラーの戻り値と考えられる値のerrno
詳細については、「、、_doserrno
、、_sys_errlist
」_sys_nerr
を参照してくださいerrno
。
解説
C++ ではオーバーロードが可能であるため、ldexp
または float
型を受け取る long double
のオーバーロードを呼び出すことができます。 C プログラムでは、tgmath.h マクロを<使用してこの関数を呼び出さない限り、ldexp
常に a と an double
をint
受け取り、double
.>
<tgmath.h>ldexp()
マクロを使用する場合は、引数の型によって、この関数のどのバージョンが選択されるかが決定されます。 詳細については、「ジェネリック型数値演算」を参照してください。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT のグローバル状態」を参照してください。
必要条件
ルーチンによって返される値 | C ヘッダー | C++ ヘッダー |
---|---|---|
ldexp , ldexpf , ldexpl |
<math.h> | <cmath> |
ldexp マクロ |
<tgmath.h> |
互換性の詳細については、「互換性」を参照してください。
例
// crt_ldexp.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 4.0, y;
int p = 3;
y = ldexp( x, p );
printf( "%2.1f times two to the power of %d is %2.1f\n", x, p, y );
}
出力
4.0 times two to the power of 3 is 32.0
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示