ilogb
, ilogbf
, ilogbl
指定した値を、バイアスをかけない 2 進数の指数として表す整数を取得します。
構文
int ilogb(
double x
);
int ilogb(
float x
); //C++ only
int ilogb(
long double x
); //C++ only
int ilogbf(
float x
);
int ilogbl(
long double x
);
#define ilogbl(X) // Requires C11 or higher
パラメーター
x
指定した値。
戻り値
成功した場合、これらの関数は底 2 指数 x
を signed int
値として返します。
それ以外の場合、関数は math.h> で<定義されている次のいずれかの値を返します。
入力 | 結果 |
---|---|
±0 | FP_ILOGB0 |
± INF、± NAN、IND | FP_ILOGBNAN |
エラーは次で指定したとおりに _matherr
報告されます。
解説
C++ ではオーバーロードが可能であるため、ilogb
型および float
型を受け取って返す long double
のオーバーロードを呼び出すことができます。 C プログラムでは、tgmath.h マクロを<使用してこの関数を呼び出していない限り、ilogb
常に double
.>
<tgmath.h>ilogb()
マクロを使用する場合は、引数の型によって、この関数のどのバージョンが選択されるかが決定されます。 詳細については、「ジェネリック型数値演算」を参照してください。
この関数を呼び出すことは、これに相当する logb
関数を呼び出してから、戻り値を int
へキャストすることに似ています。
必要条件
ルーチンによって返される値 | C ヘッダー | C++ ヘッダー |
---|---|---|
ilogb , ilogbf , ilogbl |
<math.h> | <cmath> |
ilogb マクロ |
<tgmath.h> |
互換性の詳細については、「 Compatibility」を参照してください。
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示