擷取浮點引數的指數值。
語法
double logb(
double x
);
float logb(
float x
); // C++ only
long double logb(
long double x
); // C++ only
float logbf(
float x
);
long double logbl(
long double x
);
double _logb(
double x
);
float _logbf(
float x
);
#define logb(X) // Requires C11 or later
參數
x
浮點值。
傳回值
logb 以浮點值表示的帶正負號整數形式傳回 x 的非偏誤指數值。
備註
logb 函式會擷取浮點引數 x 的指數值,就像 x 以無限範圍表示一樣。 如果自變數 x 已反正規化,則會將其視為正規化。
因為 C++ 允許多載,所以您可以呼叫採用並傳回 logb 或 float 值的 long double 的多載。 在 C 程式中,除非您使用 <tgmath.h> 巨集來呼叫此函式, logb 否則一律會採用並傳 double回 。
如果您使用 中的logb<tgmath.h>巨集,自變數的類型會決定選取哪一個函式版本。 如需詳細資料,請參閱型別泛型數學。
| 輸入 | SEH 例外狀況 | _matherr 例外 |
|---|---|---|
| ± QNaN,IND | 無 | _DOMAIN |
| ± 0 | ZERODIVIDE |
_SING |
根據預設,此函式的全域狀態會限定於應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。
需求
| 常式 | 必要的標頭 |
|---|---|
_logb |
<float.h> |
logb、 、 logbf、 logbl_logbf |
<math.h> |
logb 巨集 |
<tgmath.h> |
如需相容性詳細資訊,請參閱相容性。
程式庫
所有版本的 C 執行階段程式庫。